1.合成模式又称为部分—整体模式。
2.他是一种将对象组织到树形结构的设计模式。他的要素包含抽象构件、树枝构件、树叶构件。
-
抽象构件 ( Component), 为树结构中节点对象定义接口以及默认行为.
-
树枝构件 ( Composite), 拥有下一级树叶节点对象 , 同时对树叶节点对象进行管理 .
-
树叶构件 (leaf), 没有下一级节点对象 , 树结构最末端 , 由该对象组成上一级的树枝节点对象 .
- 透明式。 即在抽象构件 (Component)中声明所有函数。优点:所有的构件类都有相同的接口,方便客户端调用。缺点:树枝构件和树叶构件采用不同的方法,但是客户端没有区分,容易从树叶构件中调树枝构件的对象,报错。
- 安全式。在Composite类里面声明所有用来管理子类的方法。优点:安全,限制了客户端对树叶构件调用这些方法。缺点。不够透明,每个构件都有不同的方法。
4.使用产景 需求中体现整体与部分的关系,希望用户可以忽略组合对象与单体对象的不同,统一使用组合结构中的所有对象,就考虑使用组合模式。
tips:
1.组合模式为一般树形结构。非树形结构,不推荐。
2.组合模式。一种有环的组合模式,没怎么看懂跟树形结构冲突。再看一遍,看完再写。