Java设计模式偷跑系列(十二)组合模式建模和实现
2015-07-11 15:16
627 查看
转载请注明出处:/article/1330863.html
组合模式(Composite):组合模式有时又叫部分-总体模式。将对象组合成树形结构来表示“部分-总体”层次结构。
组合模式在处理树形结构的问题时比較方便。
组合模式(Composite):组合模式有时又叫部分-总体模式。将对象组合成树形结构来表示“部分-总体”层次结构。
组合模式在处理树形结构的问题时比較方便。
一、uml建模:
二、代码实现
/** * 演示样例:组合模式有时也称“整合-部分”模式 * * 组合模式在处理树形结构的问题时比較方便 * * 节点 */ class TreeNode { /** 节点名称 */ private String name; private TreeNode parent; private ArrayList<TreeNode> children = new ArrayList<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 delete(TreeNode node) { children.add(node); } public Iterator<TreeNode> getChildren() { return children.iterator(); } } /** * client測试类 * * @author Leo */ public class Test { public static void main(String[] args) { TreeNode rootNode = new TreeNode("A"); TreeNode bNode = new TreeNode("B"); TreeNode cNode = new TreeNode("C"); TreeNode dNode = new TreeNode("D"); rootNode.add(bNode); rootNode.add(cNode); cNode.add(dNode); Iterator<TreeNode> iterator = rootNode.getChildren(); while (iterator.hasNext()) { System.out.println(iterator.next().getName()); } } }说明。这里构造了这样一棵树:
三、应用场景
将多个对象组合在一起进行操作。经常使用于表示树形结构中。比如二叉树等。四、总结
组合能让客户以一致的方式处理个别对象以及对象组合。相关文章推荐
- J2EE框架——Struts2高级
- Java并发编程:volatile关键字解析
- java面向对象思想学习
- SpringMVC笔记1--开始使用(maven配置)
- java多线程的内存可见性探索_1
- Java内存模型
- Springmvc+Hibernate+JPA Maven环境搭
- java 正则表达式String.replaceAll( "\\s+ ", "| ")
- Java基础 Day14 泛型
- 如何利用 JConsole观察分析Java程序的运行,进行排错调优
- java中final关键字
- Java多线程当中的violate
- 在Eclipse中新建Maven项目
- SpringMVC源码剖析(四)- DispatcherServlet请求转发的实现
- java中static关键字
- java中的集合与队列
- SpringMVC源码剖析(三)- DispatcherServlet的初始化流程
- SpringMVC源码剖析(二)- DispatcherServlet的前世今生
- SpringMVC源码剖析(一)- 从抽象和接口说起
- 分享非常有用的Java程序(关键代码)(七)---抓屏程序