概念
Composite模式也叫组合模式,是构造型的设计模式之一。通过递归手段来构造树形的对象结构,并可以通过一个对象来访问整个对象树。
角色和职责
Component (树形结构的节点抽象)
- 为所有的对象定义统一的接口(公共属性,行为等的定义)
- 提供管理子节点对象的接口方法
- [可选]提供管理父节点对象的接口方法
Leaf (树形结构的叶节点)
Composite(树形结构的枝节点)
适用于:单个对象和组合对象的使用具有一致性。将对象组合成树形结构以表示“部分–整体”。
案例
#include <iostream>
using namespace std;
#include "list"
#include "stri