组合模式

组合模式:整体--部分模式。

将多个对象组合成树形结构以表示“整体--部分”的层次结构。

组合模式使得用户对单个对象(叶子对象)和组合对象(容器对象)的使用具有一致性。

模式动机:描述了如何将容器对象和叶子对象进行递归组合,使得用户在使用时无须对它们进行区分,可以一致地对待容器对象和叶子对象。

组合模式角色:抽象组件Component、节点Composite Node、Leaf节点。

优点:1、处理对象和组合对象都非常方便

             2、组合对象和个体对象实现了相同的接口,用户一般不区分个体对象和组合对象

             3、当增加新的容器对象和叶子对象时,主要的代码不需要修改

缺点:容器对象和叶子对象都是实现类,而不是接口,违反了依赖倒置原则

适用场景:想要表达对象部分-整体层次结构

                  希望用户用一致的方法处理个体对象和组合对象时

                  

原文地址:https://www.cnblogs.com/cye9971-/p/10597771.html