图解设计模式读书笔记(八)——Composite(组合)模式

类结构图:

先来看看composite模式的类结构图,非常简单,只涉及三个类:

图解设计模式读书笔记(八)——Composite(组合)模式

应用场景:

主要就是树形结构的设计,树结构设计父节点,子叶节点,其中Leaf就是子叶节点,Composite是父节点的抽象,由于各种节点都有一些通用的属性或者方法,所以Leaf和Composite继承自同一个父类Component,Component定义了节点所有的方法,提供add和remove和getChild的父节点方法,而method1和method2是子叶节点和父节点通用的方法。

优点:

这种设计模式的优点主要是使得容器与内容具有一致性,客户端的调用非常简单。

模式比较简单,不加代码。