(五)设计原则之合成复用原则

合成复用原则定义:在系统中尽量多使用组合或聚合关联关系,少使用或不使用继承关系。

为何?

因为继承存在一个风险,当超类的实现发生变更了,其子类也不得不发生改变,如此一来就违反了开闭原则,因此慎用继承;

具体如何使用:

1.尽量使用对象来组合;

2.通过关联关系使用一些已有的对象;

其中组合和聚合是要一点区分,在类的设计上,是有区分的;例如人和四肢,这个时候用组合的关系;例如班级和学生,这个时候用聚合的关系;显然,组合要比聚合对应的整体与部分关系强烈许多。

(五)设计原则之合成复用原则

如图的桥接模式,Abstraction与Implementor的关系用的是聚合关系;(对应接口和抽象类的实现是应该用基础的,因为我们要遵循面向抽象编程;)