聚合与耦合
在学习面向对象思想和设计模式的时候,经常会提到一个词语,耦合。
1.什么是耦合?
耦合指的是模块之间的关联程度。
2.为什么我们要降低耦合性?
在开发过程中,模块之间如果相互依赖的程度太高,那么当我需要修改其中某一个模块的时候,必定会影响其它模块的功能实现,就想一个机器里面的齿轮一样,齿轮的互相咬合,驱动机器的运转,但是如果我们改变其中一个齿轮的形状或是大小,则由他驱动的其它齿轮也会受到影响,轻则转速改变,重则无法咬合,机器部份功能完全失效或者停止运转。
3.如何降低耦合性?
降低耦合,就是降低模块之间的关联性,具体要如实现,实际上最简单的方法就是设计的模块功能尽可能的单一,而这里就引出了另一个词语,内聚:简单来说就是模块内部的功能联系的紧密程度。当模块的功能单一时,供其他模块的调用机会就相对较少,改动起来也不会影响其他部分的功能,其次就是模块之间的访问尽量通过数据访问,再有就是减少公共区域的出现。通过这些方法,我们就可以有效的降低耦合。
4.高内聚,低耦合
在设计的时候,我们追求高内聚,低耦合,高内聚指的是某块内部的功能联系紧密,不含有其他的功能和属性,即单一。低耦合指模块之间的关联性低。但是,在不同的层面看程序,高内聚和低耦合也不一样,如果一味的追求高内聚,低耦合,那么办法就是模块的功能足够单一。但是这样也会导致模块数量的急剧膨胀,会使得系统变得十分臃肿,所以我们需要选择合适的层面,来追求模块的高内聚,低耦合。
浙公网安备 33010602011771号