楼子湾

导航

 

定义:

合成服用原则又称为组合/聚合服用原则(Composite/Aggregate Reuse Principle):尽量采用组合(contains-a)、聚合(has-a)的方式而不是继承(is-a)的关系来达到软件的复用目的

优点:类之间的耦合度较低,一个类的变动对其他类的影响较小

组合和聚合 继承解释:

继承:子类拥有父类的所有,子类可以替换父类

组合:是整体与部分的关系,整体离不开部分,部分离开了整体没有意义,如飞机翅膀与飞机的关系。
聚合:也是整体与部分的关系,但整体可以分离部分,部分也可以离开整体,如火车与车厢的关系。

设计模式中的应用
使用组合原则:

组合模式中的Composite(抽象节点)持有Component(容器节点)的集合引用;

观察者模式中的Isubject(抽象主题类)持有IObserver(抽象观察者)的集合引用;

使用聚合原则:

备忘录模式中的careTaker持有Memento的弱引用;

迭代器模式中的concreteIterator持有ConcreteAggretegate的弱引用;

建造者模式中的BuildDirector(指挥者)持有IBuilder(建造者抽象)的弱引用,具体建造者持有建造对象的弱引用;

外观模式中的Facade持有SubSystem(子系统)的弱引用;

装饰模式中的Decorator持有Component的弱引用;

策略模式中的Context持有Strategy的弱引用;358

posted on 2020-03-08 17:10  楼子湾  阅读(220)  评论(0编辑  收藏  举报