面向对象设计原则—高内聚、低耦合。多聚合、少继承:
高内聚是模块功能的专一性高,独立性强.
低耦合是模块之间的联系尽量少,尽量简单.这句话描述模块设计的两个方面,不矛盾.
“高内聚,低耦合”主要是阐述的面向对象系统中,各个类需要职责分离的思想。
每一个类完成特定的独立的功能,这个就是高内聚。耦合就是类之间的互相调用关系,如果耦合很强,互相牵扯调用很多,那么会牵一发而动全身,不利于维护和扩展。
面向对象的基本原则:多聚合,少继承。低耦合,高内聚.
【高内聚、低耦合】
内聚:每个模块尽可能独立完成自己的功能,不依赖于模块外部的代码。
耦合:模块与模块之间接口的复杂程度,模块之间联系越复杂耦合度越高,牵一发而动全身。
目的:使得模块的“可重用性”、“移植性”大大增强
通常程序结构中各模块的内聚程度越高,模块间的耦合程度就越低
模块粒度:
『函数』
高内聚:尽可能类的每个成员方法只完成一件事(最大限度的聚合)
低耦合:减少类内部,一个成员方法调用另一个成员方法
『类』
高内聚低耦合:减少类内部,对其他类的调用
『功能块』
高内聚低耦合:减少模块之间的交互复杂度(接口数量,参数数据)
横向:类与类之间、模块与模块之间
纵向:层次之间
尽可能,内容内聚,数据耦合
【多聚合、少继承】
聚合:事物A由若干个事物B组成,体现在类与类之间的关系就是:“类B的实例”作为“类A”的“成员对象”出现。
继承:顾名思义,体现在类与类之间的关系就是:“类B”被类A所继承
显然,当观察类B所具有的行为能力时,“聚合”方式更加清晰。
典型应用:java适配器模式中,优选“对象适配器”,而不是“类适配器”