组合模式
介绍
组合设计模式又叫部分整体模式,将对象组合成树形结构以表示“部分-整体”的层次结构,可以更好地实现管理操作;
组合模式使得用户可以使用一致的方法操作单个对象和组合对象;
部分-整体对象的基本操作多数是一样的,只有部分不一样;
核心:组合模式可以使用一颗树来表示。
应用场景
银行总行,总行有前台、后勤、网络部门等,总行下有分行,分行下同样有前台、后勤等部门;
我们要处理的对象可以生成为一颗树形结构,对树上额节点和叶子进行操作时,它能够提供一致的方式,而不用考虑
它是叶子节点还是根节点。
角色
组合部件:他是一个抽象接口,表示树根,例子:总行;
叶子:在组合中表示子节点对象。例子:最小地方的分行;
合成部件:和组合部件类似,也有自己的子节点。例子:总行下的分行。
优点
客户端只需要面对一致的对象,而不用考虑部分整体或者节点叶子节点的情况;
方便创造出复杂的层次结构。
缺点
客户端需要区分类之间的层级关系。