Java开发中的23种设计模式之十一:组合模式(Composite)
来源:互联网 发布:淘宝店铺说明怎么写 编辑:程序博客网 时间:2024/04/23 21:27
11、组合模式(Composite)
组合模式有时又叫部分-整体模式在处理类似树形结构的问题时比较方便,看看关系图:
直接来看代码:
[java] view plaincopy
- 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();
- }
- }
[java] view plaincopy
- 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
- Java开发中的23种设计模式之十一:组合模式(Composite)
- Java开发中的23种设计模式详解----组合模式(Composite)
- 浅谈Java设计模式(十一)组合模式(Composite)
- JAVA--组合模式(Composite)--设计模式十一
- 23种设计模式之组合模式(Composite)
- 23种设计模式之组合模式(composite)
- 【23种设计模式】之 组合模式(Composite Pattern)
- 【结构型模式】组合模式(Composite)之23种java设计模式
- java设计模式之组合模式Composite
- java 23种常用设计模式之组合模式(Composite)
- Java设计模式之组合模式(Composite)
- Java设计模式之组合模式(Composite)
- Java语言设计模式之组合模式(Composite)
- 23设计模式之组合模式(Composite)
- 23设计模式之组合模式(Composite)
- 【设计模式】之组合模式(Composite)
- 设计模式之组合模式(Composite)
- 设计模式之组合模式(composite)
- 固定序列找相差最小的一组(2014华为应届毕业生上机笔试试题)
- java静态变量
- HTML5又一个例子:KineticJS加入画布设置行,大家觉得怎么样?
- putty的全屏与退出,SecureCRT的全屏与退出
- Java多线程-工具篇-BlockingQueue
- Java开发中的23种设计模式之十一:组合模式(Composite)
- 数据库优化建议
- Mysql安装后修改root密码
- Oracle 删除表 产生【BIN$u6t1yoBPRMiiKu7SiPMIUw==$0】
- 路由查找
- 修改php.ini文件位置的方法
- Java web之JSP基础
- jquery取select的所有option
- C语言中的易错处