原文:设计模式之合成复用原则示例

我们以汽车分类管理程序为例来介绍合成复用原则的应用。 分析:汽车按 动力源 划分可分为汽油汽车 电动汽车等 按 颜色 划分可分为白色汽车 黑色汽车和红色汽车等。如果同时考虑这两种分类,其组合就很多。如图所示是用继淨:关系实现的汽车分类的类图。 从图中可以看出用继承关系实现会产生很多子类,而且增加新的 动力源 或者增加新的 颜色 都要修改源代码,这违背了开闭原则,显然不可取。但如果改用组合关系实现 ...

2020-03-26 20:28 0 685 推荐指数:

查看详情

设计模式-设计原则-合成复用原则

面向对象设计原则合成复用原则 合成复用原则又称为组合/聚合复用原则(Composition/Aggregate Reuse Principle, CARP),其定义如下: 合成复用原则 ...

Tue Aug 07 14:47:00 CST 2018 0 1592
设计模式原则合成/聚合复用原则(四)

  阅读目录   一:合成/聚合复用原则   二:什么是合成?   三:什么是聚合?   四:为什么尽量不要使用类继承而使用合成/聚合?   五:合成/聚合复用原则结构图   一:合成/聚合复用原则   尽量使用合成/聚合,尽量不要使用类继承   二:什么是合成?   . 合成 ...

Mon Apr 09 21:18:00 CST 2012 0 8247
Java设计模式——合成/聚合复用原则

一、概念 合成/聚合复用原则是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新的对象通过向这些对象的委派达到复用已有功能的目的。 概括:要尽量使用合成/聚合,尽量不要使用继承。 二、依赖和关联 依赖是类与类之间的连接,表示一个类依赖于另外一个类的定义。依赖关系仅仅描述 ...

Tue Nov 13 04:51:00 CST 2018 0 1494
大话设计模式笔记 合成/聚合复用原则

聚合(Aggregation)表示一种弱的‘拥有’关系,体现的是A对象可以包含B对象但B对象不是A对象的一部分。 合成(Composition)则是一种强的'拥有'关系,体现了严格的部分和整体关系,部分和整体的生命周期一样。 优先使用对象的合成/聚合将有助于你保持每个 ...

Mon Oct 05 17:23:00 CST 2015 1 1883
Java设计模式(4:里氏替换原则合成复用原则详解

一、里氏替换原则 如果说实现开闭原则的关键步骤就是抽象化,那么基类(父类)和子类的继承关系就是抽象化的具体实现,所以里氏替换原则就是对实现抽象化的具体步骤的规范。即:子类可以扩展基类(父类)的功能,但不能改变父类原有的功能。 定义:一个软件实体如果适用一个父类的话,那一定是适用于其子类 ...

Thu Jun 10 19:10:00 CST 2021 2 354
设计模式之开闭原则示例

  以一个关于课程的例子展示开闭原则:   项目上线,课程正常销售,但是我们产品需要做些活动来促进销售,比如:打折。那么问题来了:打折这一动作就是一个变化,而我们要做的就是拥抱变化,现在开始考虑如何解决这个问题,可以考虑下面三种方案:   1、修改接口   在之前的课程接口 ...

Thu Mar 26 23:41:00 CST 2020 0 2324
设计模式之里氏替换原则示例

  里氏替换原则强调的是设计和实现要依赖于抽象而非具体;子类只能去扩展基类,而不是隐藏或者覆盖基类,它包含4层含义. 一、里氏替换4原则   1、子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法   子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法,父类中凡是已经实现好的方法 ...

Fri Mar 27 00:10:00 CST 2020 0 1898
面向对象设计原则之六:合成/聚合复用原则

组合/聚集复用原则 组合/聚合复用原则(Composite/Aggregate Reuse Principle CARP).组合和聚合都是对象建模中关联(Association)关系的一种.聚合表示整体与部分的关系,表示“含有”,整体由部分组合而成,部分可以脱离整体作为一个独立的个体 ...

Wed Feb 08 21:45:00 CST 2012 2 9639
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM