合成复用原则定义:在系统中尽量多使用组合或聚合关联关系,少使用或不使用继承关系。
为何?
因为继承存在一个风险,当超类的实现发生变更了,其子类也不得不发生改变,如此一来就违反了开闭原则,因此慎用继承;
具体如何使用:
1.尽量使用对象来组合;
2.通过关联关系使用一些已有的对象;
其中组合和聚合是要一点区分,在类的设计上,是有区分的;例如人和四肢,这个时候用组合的关系;例如班级和学生,这个时候用聚合的关系;显然,组合要比聚合对应的整体与部分关系强烈许多。

如图的桥接模式,Abstraction与Implementor的关系用的是聚合关系;(对应接口和抽象类的实现是应该用基础的,因为我们要遵循面向抽象编程;)
本文阐述了合成复用原则的概念,即优先采用组合而非继承来构建软件系统,以避免因继承带来的开闭原则违背问题。文章还介绍了组合与聚合的区别,并以桥接模式为例说明如何在设计中应用这一原则。
376

被折叠的 条评论
为什么被折叠?



