合成聚合复用原则.docVIP

  • 3
  • 0
  • 约1.25千字
  • 约 4页
  • 2017-03-11 发布于重庆
  • 举报
合成聚合复用原则

合成/聚合复用原则(Composite/Aggregate Reuse PrincipleCARP) 合成(Composition)和聚合(Aggregation)都是关联(Association)的特殊种类。 聚合表示整体和部分的关系,表示“拥有”。如奔驰S360汽车,对奔驰S360引擎、奔驰S360轮胎的关系是聚合关系,离开了奔驰S360汽车,引擎、轮胎就失去了存在的意义。在设计中,聚合不应该频繁出现,这样会增大设计的耦合度。 合成则是一种更强的“拥有”,部分和整体的生命周期一样。合成的新的对象完全支配其组成部分,包括它们的创建和湮灭等。一个合成关系的成分对象是不能与另一个合成关系共享的。 换句话说,合成是值的聚合(Aggregation by Value),而一般说的聚合是引用的聚合(Aggregation by Reference)。 在面向对象设计中,有两种基本的办法可以实现复用: 第一种是通过合成/聚合,即合成复用原则,含义是指,尽量使用合成/聚合,而不是使用继承。 第二种就是通过继承。 要正确地选择合成/复用和继承的方法是,只有当以下的条件全部被满足时,才应当使用继承关系: 1)子类是父类的一个特殊种类,而不是父类的一个角色,也就是区分Has-A和Is-A。只有Is-A关系才符合继承关系,Has-A关系应当用聚合来描述。 2)永远不会出现需要将子类换成另外一个类的子类

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档