system: [SYSTEM]

user: 3. 接口模式的案例说明 3.1. 接口力传递例子 通过例子来说明他们之间的调节和筛选模式。例子：形成一个类似肌肉的物体，可以支持(X:0， Y:5)起始点的−40N力的输入和(X:10， Y:5)终点40N力的输出。下面列出3个实体的接口情况： 实体1：(F_available:/X_I1，-X_I2，X_I1//threshold_value:/X_I:20，-X_I:40) 实体2：(F_available:/X_I2，-X_I1，-X_I1//threshold_value:/X_I:40，-X_I:20) 实体3：( F_available:/X_I1，-X_I1//threshold_value:/X_I:20，-X_I:20) 首先说明例子阈值的计算。X_I1，X_I2表示两种接口，但都可以跟负的接口连接，只是接口的阈值不相同。比如(X_I1，-X_I1)可以进行连接，然后(X_I2，-X_I2)也可以连接。但他们的差别是，形成接口的阈值不同。(X_I1，-X_I1)的接口连接，两个个接口的阈值都是20，因此取最小值，(X_I1，-X_I1)的C 阈值 就是20。(X_I2，-X_I2)两个接口的阈值都是40，那么他们形成的接口最小的C 阈值 也是40。当然也可以(X_I1，-X_I2)进行连接，他们单独接口的阈值分别是20，40，组合成的接口C 阈值 取最小值的20。 然再说明下例子权值的计算。终点的40N力W 正 ，只要实体跟终点连接W 负 ，那么接口的权值计算为|W 正 + W 负 | = |40 + 0| = 40。根据力传导的关系，终点通过接口把40N的力传导给了这个实体。那么假如这个实体再跟另外两个实体连接的话，两个接口连接的权值分别为：|W 正 + W 负 | = |40/2 + 0| = 20，|W 正 + W 负 | = |40/2 + 0| = 20。 那么上面的例子先来分析下，可以直接跟起始点和终点连接的接口，只有阈值是40的2个接口，但这个接口都包含着另外2个相反的接口。因此只要连接上这种接口一个，都意味着会增加多余的接口了。而不会产生多余接口的，只有2个接口阈值都是20的接口。也就是理论上来说。只要一个阈值为40的接口跟起始点连接，之后都跟两个接口阈值是20的连接，才会保证没有多余的接口。如下图1所示。 通过起始点和终点力的传递关系和接口类型，来进行筛选一个适合起始输入和终点输入的整体。完成这个例子，需要通过筛选3个接口相互叠加的整体，并且通过力的传递和接口类型来判断是否可以连接。理论上，经过筛选就可以形成如上图的整体。当然随着条件的改变，形成的整体也会随着改变。 把实体1(F_available:/X_I，-X_I//threshold_value:/X_I:20，-X_I:20)的阈值变小，变成如下(F_available:/X_I，-X_I//threshold_value:/X_I:10，-X_I:10)，那么形成的理论的模型也就会变成中间4条线连接的。改变起始输入和终点输入的力，都会影响和改变着形成的整体。有的需求会出现起始点和终点不在一个水平线上，那么也可以通过添加Y轴类型的接口，这样就会形成一个类似于手臂弯曲的结构。实 图1. 实体连接示意图 体还包括动态变化的结构，可以形象的理解为弹簧一类，这就可以让形成的整体拥有一定范围内值的变化。 3.2. 接口连接不同结构例子 通过例子简单地说明了下接口模型的运行方式。但对于说明实际的用处来说，还是差了一些的。下面举个偏向实际的例子来进一步分析。假设有这么一个需求，需要拼接一个机器，去采摘随机位置苹果树上的苹果。例子设定： 在这个需求里面，起始点(随机苹果树)的位置参数定为random_X:(0，100)，random(0，100)，单位为m。然后采摘苹果假设需要−40N的力，终点(苹果的可能位置)为Z轴的随机位置random_Z:(0，10)，random_X:(0，100)，random(0，100)。设置对应的公式： 起始点：(area:/random_X:(0，100)， random(0，100)) 终点：(area:/random_Z:(0，10)， random_X:(0，100)， random(0，100)//value:/40) 拥有的基础的拼接结构包括： 轮子：(F_available:/X_I3//threshold_value:/X_I3:1000//area:/random_XY) 伸缩杆：(F_available:/X_I2//threshold_value:/X_I2:40//area://random_Z:/(0， 1)) 抓手：(F_available:/-X_I2//threshold_value:/X_I2:40//value://-40) 实体1： (F_available:/X_I1，-X_I2，X_I1//threshold_value:/X_I:20，-X_I:40//value:/1) 实体2： (F_available:/X_I2，-X_I1，-X_I1//threshold_value:/X_I2:40，-X_I:20//value:/1) 实体3： F_available:/X_I1，-X_I1//threshold_value:/X_I:20，-X_I:20//value:/1) 可结合模型执行过程分析： 1) 根据起始点和终点的属性，分别提取了适合random_X:(0，100)，random(0，100)，的轮子random_X，random_Y，适合random_Z：(0，10的伸缩杆random_Z，适合−40N力的抓手。 2) 通过实体连接形成适应这些部件的结构 a) 抓手： 抓手输出−40N的力，那么就需要实体形成适应抓手的接口-X_I2和40N力的形状。可以通过实体2的X_I2接口来连接 b) 伸缩杆： 因为苹果的位置是random_Z(0，10)，伸缩杆的长度变化是random_Z:/(0，1)，那么需要10个伸缩杆相互连接了。而实体块则需要形成伸缩杆之间连接的桥梁，可以通过实体3的X_I1，-X_I1接口前后相连。 c) 轮子： 轮子的接口X_I3可以跟任何实体接口相连接，但要形成一个整体接口阈值比较大的结构来承受压力。 3)形成的构件之间的相互连接 a) 抓手-伸缩杆： 抓手构件要−40N的力，伸缩杆构件的阈值是20，那么就需要2个伸缩杆的构件来支撑。也就是20根伸缩杆和它们连接的组成。这样形成之后，一个可以上下移动和抓取的手臂构件就形成了。 b) 手臂构件-轮子构件： 手臂构件的接口包括伸缩杆和壳的接口，同时手臂构件的力也会传递下来。那么就需要形成一个适应手臂构件的接口和力的结构，同时跟轮子构件连接。形成车身的实体的总的重量value，也要大于手臂结构传递下来的力。然后通过接口暴露最少性，结构最少的需求筛选构架，形成了车子的身体。 那么通过以上步骤，就可以把需求通过接口模型实现出来了。当然上面只是形成一个车子的模型，至于行驶和驱动也还需要发动机啊，人的驾驶啊等，但这些就不属于可结合模型的形成内容了。然后上面提供的初始部件，伸缩杆，抓手，轮子也是可以通过更小的基础部件形成的，只是那样太过于繁琐，就不继续讨论下去了。也就是通过例子，可以看出接口模型，可以形成适应需求的整体。 上面的例子看起来有点不可思议，一个单一的需求，却可以形成不同构件的整体。但假如理解了接口模型，传递的不仅仅是力，也可以传递前后部件的接口，那么就可以理解把不同部件组合在一起形成整体的过程。接口模型跟人类基因组结合类似。基因是由碱基对经过自然筛选，并且让整体形成适应这些接口的整体。基因平时也是相反的基因来闭合的，只有打开的时候，它的筛选才是激活的，这也跟接口模式的筛选相近。接口模型可以类似基因一样，通过接口形成复杂的个体。