java23种设计模式--组合模式(composite)
2014-03-11 11:28
736 查看
组合模式有时又叫部分-整体模式,在处理类似树形结构的问题时比较方便,看看关系图:
直接来看代码:
使用场景:将多个对象组合在一起进行操作,常用于表示树形结构中,例如二叉树,数等。
如有转载,请说明出处:http://blog.csdn.net/zhangerqing
补充理解:
组合模式解耦了客户程序与复杂元素内部结构,从而使客户程序可以向处理简单元素一样来处理复杂元素。
如果你想要创建层次结构,并可以在其中以相同的方式对待所有元素,那么组合模式就是最理想的选择。
直接来看代码:
public class TreeNode { private String name; private TreeNode parent; private Vector<TreeNode> children = new Vector<TreeNode>(); public TreeNode(String name){ this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } public TreeNode getParent() { return parent; } public void setParent(TreeNode parent) { this.parent = parent; } //添加孩子节点 public void add(TreeNode node){ children.add(node); } //删除孩子节点 public void remove(TreeNode node){ children.remove(node); } //取得孩子节点 public Enumeration<TreeNode> getChildren(){ return children.elements(); } }
public class Tree { TreeNode root = null; public Tree(String name) { root = new TreeNode(name); } public static void main(String[] args) { Tree tree = new Tree("A"); TreeNode nodeB = new TreeNode("B"); TreeNode nodeC = new TreeNode("C"); nodeB.add(nodeC); tree.root.add(nodeB); System.out.println("build the tree finished!"); } }
使用场景:将多个对象组合在一起进行操作,常用于表示树形结构中,例如二叉树,数等。
如有转载,请说明出处:http://blog.csdn.net/zhangerqing
补充理解:
组合模式解耦了客户程序与复杂元素内部结构,从而使客户程序可以向处理简单元素一样来处理复杂元素。
如果你想要创建层次结构,并可以在其中以相同的方式对待所有元素,那么组合模式就是最理想的选择。
相关文章推荐
- Java23种设计模式案例:组合模式(Composite)
- java 23种常用设计模式之组合模式(Composite)
- 【结构型模式】组合模式(Composite)之23种java设计模式
- Java开发中的23种设计模式之十一:组合模式(Composite)
- Java开发中的23种设计模式详解----组合模式(Composite)
- Java设计模式之 —— 组合(Composite)
- JAVA的23种设计模式---组合模式
- Java语言设计模式之组合模式(Composite)
- Java设计模式透析之 —— 组合(Composite)
- java设计模式之Composite(组合) (转)
- java设计模式之 Composite(组合)
- Java设计模式透析之 —— 组合(Composite)
- java设计模式——Composite(组合模式)
- Java23种设计模式——组合模式
- Java设计模式(8)组合模式(Composite模式)
- JAVA开发的23种设计模式之 --- 组合模式
- Java设计模式之组合模式(Composite)
- Java设计模式透析之 —— 组合(Composite)
- JAVA设计模式十七--Composite(组合模式)
- java 设计模式之: 组合模式(Composite)---1 【转】