耦合是比较好理解和定义的,如果A变动会导致B也得跟着改,或者反过来B变动A也得跟着改,或者两者,这些都认为A和B是有耦合的。所以耦合有单向和双向的。

解耦就是避免这种情况出现,一般的做法就是接口和实现分离。这也是OO的原则之一。高耦合和低耦合的效果很明显。

再放开点看,只要A变,B就得变,就有耦合。变不仅是代码变,部署变,机器变,都算。当然变动有大有小,有难改有易改,有明显有容易疏忽的,这些都需要考虑。

解耦有时候只是解了一部分,又带来了另一部分耦合。例如代码上是解了,但是配置上加了。

内聚,我认为则更加侧重于工程上的维护和复用。相关和相似的东西放在一起,一眼就可以看清楚。东西放得近,也容易复用。

文档更新时间: 2020-08-03 10:42   作者:nick