合成聚合复用原则

合成聚合复用原则,也叫合成复用原则。

合成聚合复用原则就是在一个新的对象里面使用一些已有的对象,使之成为新的对象的一部分,新的对象通过向这些对象的委派达到复用已有功能的目的。

更简短的描述就是:要尽量使用合成聚合,尽量不要使用继承。


合成和聚合的关系:

聚合表示拥有关系或者整体和部分的关系。合成表示表示一种更强的拥有关系,合成的对象完全支配其组成部分。

合成聚合复用的优点:

  • 新对象存取成分对象的唯一方法是通过成分对象的接口。
  • 这种复用是黑箱复用,新对象看不见成分对象的内部细节。
  • 这种复用支持包装。
  • 这种复用所需的依赖较小。
  • 每一个新的类可以将焦点集中在一个任务上。
  • 这种复用可以在运行时间内动态进行,新对象可以动态的引用与成分对象类型相同的对象。

合成聚合复用的缺点:建造的系统会有更多的对象需要管理。


is-a和has-a:

继承是面向对象的语言特有的复用工具,继承复用通过扩展一个已知对象的实现来得到新的功能,基类拥有共同的属性和方法,而子类通过增加新的属性和方法来扩展超类的实现。

继承的优点:

  • 新的实现较为容易,因为超类的大部分功能可以通过继承关系自动进入子类。
  • 修改或扩展继承而来的实现较为容易。

继承的缺点:

  • 继承破坏包装,因为继承将超类的实现细节暴漏给了子类。
  • 如果超类的实现发生改变,那子类的实现也不得不改变。
  • 从超类继承而来的实现时静态的
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值