读书人

java23类设计模式三(连载)

发布时间: 2012-11-22 00:16:41 作者: rapoo

java23种设计模式三(连载)

三、组合模式

组合模式,也叫合成模式,树模式,它是一组对象的组合,这些对象可以是容器对象,表现为组的概念。

组合模式的意图是为了保证客户端调用单对象于组合对象的一致性。

涉及角色:
  1.Component 是组合中的对象声明接口,在适当的情况下,实现所有类共有接口的默认行为。声明一个接口用于访问和管理Component
子部件。
  2.Leaf 在组合中表示叶子结点对象,叶子结点没有子结点。
  3.Composite 定义有枝节点行为,用来存储子部件,在Component接口中实现与子部件有关操作,如增加(add)和删除(remove)等。

适用性
  以下情况下适用组合模式:
  1.你想表示对象的部分-整体层次结构
  2.你希望用户忽略组合对象与单个对象的不同,用户将统一地使用组合结构中的所有对象。

以下代码体现了组合模式的思想:

public static void main(String[] args) {Tree root = new TreeNode.Builder().text("根节点").build();Tree parent1 = new TreeNode.Builder().text("父节点1").build();Tree parent2 = new TreeNode.Builder().text("父节点2").build();root.add(parent1);root.add(parent2);Tree son11 = new TreeNode.Builder().text("子节点11").build();Tree son12 = new TreeNode.Builder().text("子节点12").build();parent1.add(son11);parent1.add(son11);System.out.println(root.toString());}


读书人网 >软件开发

热点推荐