原文:设计原则:不要为了复用而使用继承

背景 今天上午和以为朋友聊了一个设计问题:如何消除仓库相关的单据的Repository中的重复逻辑 如:入库单Repository和出库单Repository之间的重复。可以有很多方式消除重复,在不同级别消除重复,如:继承 组合 掺入 帮助类 帮助方法。本文只说出我的观点:不要为了复用而使用继承。 为什么要得出这个结论:在单实现继承模型下,你复用了一个基类的实现,就不能复用其它基类的实现了,接口继 ...

2013-08-23 13:11 13 3055 推荐指数:

查看详情

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

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

Tue Aug 07 14:47:00 CST 2018 0 1592
设计模式之合成复用原则示例

  我们以汽车分类管理程序为例来介绍合成复用原则的应用。   分析:汽车按“动力源”划分可分为汽油汽车、电动汽车等;按“颜色”划分可分为白色汽车、黑色汽车和红色汽车等。如果同时考虑这两种分类,其组合就很多。如图所示是用继淨:关系实现的汽车分类的类图。            从图中可以看出 ...

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

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

Wed Feb 08 21:45:00 CST 2012 2 9639
软件架构设计原则之合成复用原则

合成复用原则(Composite/Aggregate Reuse Principle,CARP)是指尽量使用对象组合(has-a)/聚合(contanis-a)而不是继承关系达到软件复用的目的。可以使系统更加灵活,降低类与类之间的耦合度,一个类的变化对其他类造成的影响相对较少。 继承叫作白箱复用 ...

Sun Oct 24 23:54:00 CST 2021 0 124
设计模式原则—合成/聚合复用原则(四)

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

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
面向对象可复用设计几大原则

1、开-闭 原则:指的是一个软件实体应该对扩展开放,对修改关闭。用面向对象的语言来讲就是:不允许修改的是系统的抽象层,允许扩展的是系统的具体实现层。 2、里氏代换原则:一个软件实体如果使用的是一个基类的话,那么一定适用于其子类,而且它根本不能察觉出基类对象和子类对象的区别 ...

Fri Aug 18 23:40:00 CST 2017 0 1780
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM