[0] [七大原则] ( 5 ) 合成复用原则 composite reuse

总结

  • 什么是聚合 / 组合 / 继承?
    image


  • 比较一下耦合程度?
    继承的耦合度, 高于聚合/组合
    父类的任何变化,都会导致子类的实现发生变化.
    .
    继承(白箱复用), 把所有的实现细节暴露给子类.
    .
    组合/聚合(黑箱复用), 无法获取到class以外的对象的实现细节.


  • 优先用聚合组合, 还是优先用继承?
    聚合组合 > 继承
    尽量使用对象聚合/组合,
    而不是继承关系达到软件复用的目的.


  • 聚合/组合的缺点?
    有较多的对象需要管理




JAVA例子一

参考:
https://youtu.be/bGjr3fLA0aw?si=gtF6udMLmZ0CDiHp


重构前

image


重构后

image




posted @ 2023-10-22 03:30  qwertzxc  阅读(8)  评论(0)    收藏  举报