面向对象编程——OO思想
时间:08-27
来源:ZLG致远电子
点击:
关系,不存在父子关系。同样,头部是由眼睛、嘴巴、鼻子和耳朵组合而成的,如果头部不存在,那么这些部件都不能单独存在。
>>> 4.1.3 OO收益
耦合性与内聚性是相辅相成的关系,内聚性描述的是一个模块内部组成部分之间相互联系的紧密程度,而耦合性描述的是一个模块与其它模块之间联系的紧密程度。由此可见,无论使用哪种方法,软件开发的目标是创建符合"高内聚、低耦合"这样的模块。也就是说,每个模块尽可能独立完成某个特定的功能。
如果模块之间做到了低耦合,那么修改一个模块就不需要修改另一个模块。使用模块化最重要的一点是,能够独立修改单个模块,而不需要修改系统的其它模块。一个典型的错误是,使用紧耦合的方式做模块之间的集成,从而使得一个模块的修改会导致其消费者的修改。一个低耦合的模块应该尽可能少地知道与之协作的那些模块的信息,即应该限制两个模块之间不同调用形式的数量,因为除了潜在的性能问题之外,过度的通信可能会导致紧耦合。
内聚性用于评估一个组件(包、模块或配件)中成员的功能相关性,内聚程度高表明各个成员共同完成了一个功能特性或一组功能特性,内聚程度低表明各个成员提供的功能互不相干。如果一个类的方法和属性共同完成了一个功能或一系列紧密相关的功能,这个类就是内聚的。假设有一个这样的类,实现了3种完全不同的功能。如果这3个功能的需求细节发生了变化,这个类也必须跟着改变,从而导致更多的开发和维护成本。因此高内聚就是将相关的行为聚集在一起,而将不相关的行为放在别处。这样做的好处是,如果要修改某个行为,则只在一个地方修改,即可尽快发布。