如何理解高内聚低耦合

  

高内聚就是说相关度比较高的部分尽可能的集中,不要分散

  例如内聚性要求强的话就像Windows32中系统提供的API,里面的函数太多了,都放在一个Dll中,那么每个函数完成一个功能。这样强大的功能,会比较复杂,所以并不是完全的高内聚越高越好,还是要看实际的需要。当然维护起来也不是特别的方便。

低耦合就是说两个相关的模块尽可以能把依赖的部分降低到最小,不要让两个系统产生强依赖

  低耦合是用来度量模块与模块直接的依赖关系。耦合当然也可以这样简单的理解,我想懂电脑的应该都知道,CPU与主板之间的关系,CPU如果是特殊的CPU必须使用特殊的主板来支持,那么如果说这个CPU不唯一依赖唯一主板,那么就认为这个CPU与主板的关系是低耦合的关系。 

 

 

 

例子:

比如订单系统,订单是跟库存相关联的,如果没有库存就没有订单,订单强依赖库存

如果我们把如何扣减库存的逻辑做在订单系统中,那么订单系统和库存系统就耦合了

同样,订单系统中有扣减库存的逻辑会造成订单系统的功能比较分散,订单系统的功能就不够集中

 

所以我们把订单中的库存逻辑给拆分出来一个独立的库存系统,对外暴露扣减库存的接口,订单系统可以通过这个暴露的库存接口来扣减库存

将订单逻辑与库存逻辑的依赖降低到最小,减掉了订单系统与库存的耦合

同事订单系统只包含订单处理的逻辑,库存系统只包含了库存的处理逻辑,两个系统的业务上更加内聚

posted @ 2019-03-13 20:24  吧啦吧啦吧啦  阅读(498)  评论(0编辑  收藏  举报