首页 > 其他 > 详细

【设计模式】组合模式

时间:2020-01-27 13:14:20      阅读:74      评论:0      收藏:0      [点我收藏+]

组合模式

组合模式:将对象组合成树形结构以表示‘部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。

简单说,组合模式对应的情况是有一个总部,总部下有各个职能部门,也有组织架构类似于总部的分部(其下也有职能部门和分分部)。

如果说总部下只有职能部门,没有分部。这种情况那就不需要设计模式了,直接组合即可。

技术分享图片

技术分享图片

看完代码后,发现Leaf类里有用不到的Add和Remove。好处在于让职能部门(Leaf对象)与分部(Composite对象)具备完全一致的行为接口。

如果不想要 用不到的Add和Remove 这部分,就在Component中不去声明,之后再Composite来声明即可,但这样会让客户端需要判断,相对变得不方便。

组合模式可以让客户一致的使用组合结构和单个对象。

当你发现需求中是体现部分与整体层次的结构时,以及你希望用户可以忽略组合对象与单个对象的不同,统一地使用组合结构中的所有对象时,就应该考虑用组合模式了。

【设计模式】组合模式

原文:https://www.cnblogs.com/LampsAsarum/p/12235725.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!