设计模式六大原则——合成/聚合复用原则(CARP)
来源:互联网 发布:手机版淘宝好评能改吗 编辑:程序博客网 时间:2024/05/17 06:12
1、定义
简而言之,对于合成/聚合复用原则的定义就是:要尽量使用合成和聚合,尽量不要使用继承。
2、释义
为什么“要尽量使用合成和聚合,尽量不要使用继承”呢?
这是因为:
第一,继承复用破坏包装,它把父类的实现细节直接暴露给了子类,这违背了信息隐藏的原则;
第二:如果父类发生了改变,那么子类也要发生相应的改变,这就直接导致了类与类之间的高耦合,不利于类的扩展、复用、维护等,也带来了系统僵硬和脆弱的设计。而用合成和聚合的时候新对象和已有对象的交互往往是通过接口或者抽象类进行的,就可以很好的避免上面的不足,而且这也可以让每一个新的类专注于实现自己的任务,符合单一职责原则。
3、何时使用合成/聚合、继承
两种判断方法:
1)、使用“Has-A”和“Is-A”来判断
“Is-A”代表一个类是另外一个类的一种,可以使用继承关系,如下图
而“Has-A”代表一个类是另外一个类的一个角色,而不是另外一个类的特殊种类。如下图
2)、使用里氏代换原则来判断
里氏代换原则是继承复用的基础。
具体介绍:设计模式六大原则——里氏代换原则
1 0
- 设计模式六大原则——合成/聚合复用原则(CARP)
- 设计模式六大原则--合成/聚合复用原则
- 合成聚合复用原则(CARP)
- 合成/聚合复用原则(CARP)
- 合成/聚合复用原则CARP
- 合成/聚合复用原则(CARP)
- 软件设计原则----合成/聚合复用原则(CARP)
- 软件设计原则----合成/聚合复用原则(CARP)
- OOD设计原则之合成/聚合复用原则(CARP)
- Java设计模式——合成/聚合复用原则
- 设计模式—合成/聚合复用原则
- 设计模式六大原则(5)合成/聚合复用原则
- 【设计模式】六大原则之三(迪米特法则与合成/聚合复用原则)
- 设计模式六大原则(6):合成/聚合原则
- 合成/聚合复用原则 (Composition/Aggregation Principle, CARP)
- 设计模式六大原则-单一职责原则、开放封闭原则、依赖倒转原则、里氏代换原则、迪米特法则、合成/聚合复用原则
- 设计模式六大原则(六)合成复用原则
- 设计模式原则—合成/聚合复用原则(四)
- windows phone 8 双击图片,图片放大,再点击图片缩小。
- Redhat 下虚拟机安装_(4)
- iOS 播放声音和震动
- Hive命令的3种调用方式
- SetBkMode(TRANSPARENT) 设置文本背景与控件背景一样
- 设计模式六大原则——合成/聚合复用原则(CARP)
- NYOJ 370 波动序列
- Sybase数据库安全性控制策略
- ARM寄存器别名及作用
- 多线程下 ruby rb_gc() crash的问题.
- 一个简单线程池的实现
- Thread类常用方法
- js学习小结(十四)2014.5.23(keyboard事件,mouseEvent事件event的相关属性,ie事件注册的N中方式)
- (总结)Linux下的暴力密码在线破解工具Hydra详解