面向对象设计原则之合成复用原则 合成复用原则又称为组合/聚合复用原则(Composition/Aggregate Reuse Principle, CARP),其定义如下: 合成复用原则 ...
背景 今天上午和以为朋友聊了一个设计问题:如何消除仓库相关的单据的Repository中的重复逻辑 如:入库单Repository和出库单Repository之间的重复。可以有很多方式消除重复,在不同级别消除重复,如:继承 组合 掺入 帮助类 帮助方法。本文只说出我的观点:不要为了复用而使用继承。 为什么要得出这个结论:在单实现继承模型下,你复用了一个基类的实现,就不能复用其它基类的实现了,接口继 ...
2013-08-23 13:11 13 3055 推荐指数:
面向对象设计原则之合成复用原则 合成复用原则又称为组合/聚合复用原则(Composition/Aggregate Reuse Principle, CARP),其定义如下: 合成复用原则 ...
我们以汽车分类管理程序为例来介绍合成复用原则的应用。 分析:汽车按“动力源”划分可分为汽油汽车、电动汽车等;按“颜色”划分可分为白色汽车、黑色汽车和红色汽车等。如果同时考虑这两种分类,其组合就很多。如图所示是用继淨:关系实现的汽车分类的类图。 从图中可以看出 ...
组合/聚集复用原则 组合/聚合复用原则(Composite/Aggregate Reuse Principle CARP).组合和聚合都是对象建模中关联(Association)关系的一种.聚合表示整体与部分的关系,表示“含有”,整体由部分组合而成,部分可以脱离整体作为一个独立的个体 ...
合成复用原则(Composite/Aggregate Reuse Principle,CARP)是指尽量使用对象组合(has-a)/聚合(contanis-a)而不是继承关系达到软件复用的目的。可以使系统更加灵活,降低类与类之间的耦合度,一个类的变化对其他类造成的影响相对较少。 继承叫作白箱复用 ...
阅读目录 一:合成/聚合复用原则 二:什么是合成? 三:什么是聚合? 四:为什么尽量不要使用类继承而使用合成/聚合? 五:合成/聚合复用原则结构图 一:合成/聚合复用原则 尽量使用合成/聚合,尽量不要使用类继承 二:什么是合成? . 合成 ...
一、概念 合成/聚合复用原则是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新的对象通过向这些对象的委派达到复用已有功能的目的。 概括:要尽量使用合成/聚合,尽量不要使用继承。 二、依赖和关联 依赖是类与类之间的连接,表示一个类依赖于另外一个类的定义。依赖关系仅仅描述 ...
聚合(Aggregation)表示一种弱的‘拥有’关系,体现的是A对象可以包含B对象但B对象不是A对象的一部分。 合成(Composition)则是一种强的'拥有'关系,体现了严格的部分和整体关系,部分和整体的生命周期一样。 优先使用对象的合成/聚合将有助于你保持每个 ...
1、开-闭 原则:指的是一个软件实体应该对扩展开放,对修改关闭。用面向对象的语言来讲就是:不允许修改的是系统的抽象层,允许扩展的是系统的具体实现层。 2、里氏代换原则:一个软件实体如果使用的是一个基类的话,那么一定适用于其子类,而且它根本不能察觉出基类对象和子类对象的区别 ...