面向接口编程: 当一个实体依赖另一个实体时,不依赖实体而是依赖实体的抽象。

比如说生产一个电灯,电灯需要一个开关来控制电灯的点亮和关闭,如果电灯依赖某个具体的开关,,比如电灯出场内置开关依赖了 A 品牌,当有一天买电灯的客户家里是 B 品牌的开关,那么电灯就没办法使用了。但是如果我依赖的是开关的抽象接口,它提供打开和关闭两个行为给电灯,电灯根据打开和关闭的行为去控制电灯的点亮和关闭。

这种设计可以让生产的电灯适应市面上的所有开关,那怕未来实现了脑机接口的开关,只要这个它遵循开关的抽象提供打开和关闭两种行为,这款电灯就能受这种新开关的控制。

从上面例子上可以看出,所谓的接口是依赖双方提前的一种约定,依赖方按照这种约定去调用,被依赖方按照这种约定去实现,这种约定其实就是标准化,调用方按照约定去实现功能,使用方按照约定去使用功能。

标准化的好处

从上面的例子中可以看出,标准化带来最大的好处就是复用,你可以任意的生产各种各样的开关,只要是按照标准制定的,我的电灯都是可以使用的。

其次标准化会带来效率的提升,现实中交通规则就是一个很好的例子,交规就是一个标准, 只要是在路上的走的,都受到交规的约束,而正是有了这种约束我们才有了更高效的通勤,绿灯了可以走,红灯了,就停下来等待,我们对路上所有的车辆和行人的轨迹都有预期,从而提升通行效率。

可以设想一下没有交规,是一个什么样的场景,大概率会出现所有车辆堵在了路口,整个路口堵的水泄不通,最后整体通行效率变得无比低下。

标准化还会带来工具化,再拿生活中常见的交通为例,有了完善的交通规则,后续就可以生产适用这种规则的自动驾驶车辆,这将大大改善人们的出行效率。

标准化在工作中的用处

标准化在工作中也有着十分重要的作用,如今的工作大多都会有工种之间的划分,工种和工种之间就存在着依赖关系,上一个工种的工作要到什么程度,下一个工种应该怎么衔接,这就是一个依赖,而在这两个工种之间就需要一个明确的约定。

有了这种约定,可以减少很多不必要的沟通,不需要去关心上个工种的实现细节,只需要双方按照约定各自生产,在产品成型阶段把各个工种生产出的设备进行组装即可。

当公司来了新人的时候,他也不需要重新去每个环节去了解其他工种的产品特性,只需要去了解约定的标准化制度即可投入到生产中。

标准化的问题

标准化也并非都是好处,它在设计阶段需要投入相当的人力去设计,并且需要在后续的生产阶段通过实践中得到的反馈,去不断的完善标准。

如果标准设计的不好,频繁的变更标准,将会导致所有依赖的标准方都要进行变动,这种变动的成本是相当高的。

因此在标准设计的时候要进行必要的论证和演练,确保标准没有明显的问题,最大限度的减少标准化带来的成本。

总结

标准化相当于在一个有限范围内设计了一个小型的生态系统,标准化制定了基本的流程和规则,生态系统的其他元素按照这种流程和规则去演化出标准化所期望达成的效果。

标准化的制定是有难度的,有些时候仅从设计阶段,无法看到最终的结果,这时可以通过抓大放小的形式去解决。刨除细节,去设计整体框架,保证大方向的正确,在标准化实践的过程中去不断的丰富细节,完善标准,从而让标准化实现最终的落地。

可能某些情况下理想下的标准化永远也无法达成,但这不能成为放弃标准化的理由,不能因为我们理想是得到 100 分的好处,因为我们拿不到 100 分就放弃。拿不到 100 分,能拿 60 分也比一分都没有要好一些,你觉得呢?