首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

java23类设计模式三(连载)

2012-11-22 
java23种设计模式三(连载)三、组合模式组合模式,也叫合成模式,树模式,它是一组对象的组合,这些对象可以是容

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());}


热点排行