设计模式(11)组合模式--结构型

来源:互联网 发布:中维软件下载 编辑:程序博客网 时间:2024/06/13 13:10

定义

允许你将对象组合为树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。

角色

抽象构件角色(component)

是组合中的对象声明接口,在适当的情况下,实现所有类共有接口的默认行为。声明一个接口用于访问和管理Component子部件。

树叶构件角色(Leaf)

在组合树中表示叶节点对象,叶节点没有子节点。并在组合中定义图元对象的行为。

树枝构件角色(Composite)

定义有子部件的那些部件的行为。存储子部件。在Component接口中实现与子部件有关的操作。

类图

示例

要点

1.组合模式解耦了客户程序与复杂元素内部结构,从而使客户程序可以向处理简单元素一样来处理复杂元素。
2.如果你想要创建层次结构,并可以在其中以相同的方式对待所有元素,那么组合模式就是最理想的选择

原创粉丝点击