[0] [七大原则] ( 5 ) 合成复用原则 composite reuse
总结
-
什么是聚合 / 组合 / 继承?
![image]()
-
比较一下耦合程度?
继承的耦合度, 高于聚合/组合
父类的任何变化,都会导致子类的实现发生变化.
.
继承(白箱复用), 把所有的实现细节暴露给子类.
.
组合/聚合(黑箱复用), 无法获取到class以外的对象的实现细节.
-
优先用聚合组合, 还是优先用继承?
聚合组合 > 继承
尽量使用对象聚合/组合,
而不是继承关系达到软件复用的目的.
-
聚合/组合的缺点?
有较多的对象需要管理
JAVA例子一
参考:
https://youtu.be/bGjr3fLA0aw?si=gtF6udMLmZ0CDiHp
重构前

重构后


浙公网安备 33010602011771号