组合模式的意图是:将对象组合成树型结构以表示“整体-部分”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。
举个例子,一个公司由部门组成,部门下面包含小组,车间等,小组,车间下面包含员工,对员工也好,对小组,对车间都可以进行相同的操作,比如获取信息,预算考核等。
Leaf:叶部件,在组合中百事叶结点的对象,叶结点没有子节点。定义组合中原有接口对象的行为。
Composite:组合类,定义有子节点的部件行为。在Component接口中实现与子部件相关的操作。
Client:客户应用程序,通过Component接口控制组合部件的对象。