`

【转】设计模式——组合模式(Composite)

 
阅读更多

组合模式有时又叫部分-整体模式在处理类似树形结构的问题时比较方便

▲代码:

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!");

}

}

使用场景:将多个对象组合在一起进行操作,常用于表示树形结构中,例如二叉树,数等。

--------------------- 

作者:panzihao_beijing 

来源:CSDN 

原文:https://blog.csdn.net/PanZiHao_BeiJing/article/details/80417331 

版权声明:本文为博主原创文章,转载请附上博文链接!

分享到:
评论

相关推荐

    设计模式-Java语言中的应用(pdf)

    《设计模式——Java语言中的应用》是一本专为Java开发者深入理解面向对象设计而编写的经典书籍。设计模式是软件工程领域中经过实践验证的、解决常见问题的有效方案,它们代表了在特定上下文中,针对特定问题的最优...

    JAVA设计模式学习10——组合模式

    组合模式是一种结构型设计模式,它允许我们使用树形结构来表示部分-整体关系,使得我们能够像处理单个对象一样处理整个集合。在JAVA中,组合模式的应用可以帮助开发者更灵活地处理对象间的层次结构,使得客户端代码...

    设计模式——JAVA.docx

    ### JAVA设计模式总结之23种设计模式及六大原则 #### 一、设计模式之六大原则 ##### 总原则:开闭原则(Open Close Principle) 开闭原则是设计模式中最核心的原则之一,它强调的是软件实体(类、模块、函数等)...

    设计模式可复用面向对象软件的基础.zip

    2.2.3 组合模式 27 2.3 格式化 27 2.3.1 封装格式化算法 27 2.3.2 Compositor和Composition 27 2.3.3 策略模式 29 2.4 修饰用户界面 29 2.4.1 透明围栏 29 2.4.2 Monoglyph 30 2.4.3 Decorator 模式 32 2.5 支持多种...

    设计模式C++实现(7)——外观模式、组合模式[参照].pdf

    设计模式 C++ 实现(7)——外观模式、组合模式 本文主要介绍了设计模式中的外观模式和组合模式,并使用 C++ 实现了两个模式的示例代码。外观模式提供了一个高层接口,封装了子系统中的复杂结构,使得客户使用起来...

    23种 设计模式---面向对象的基本原则

    - 组合模式(Composite):将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。 - 装饰模式(Decorator):动态地给一个对象添加一些额外的职责,提供比继承更...

    《java设计模式》课后习题模拟试题解答——刘伟.zip

    本资料“《java设计模式》课后习题模拟试题解答——刘伟.zip”主要涵盖了Java设计模式的学习与应用,特别是针对刘伟教授的相关课程的课后习题及模拟试题的解答。 设计模式分为三大类:创建型、结构型和行为型模式。...

    C++设计模式课件20_Composite_组合模式.pdf

    本篇主要探讨的是结构型模式之一——组合模式。 #### 二、组合模式定义 组合模式(Composite Pattern)是一种树形结构的设计模式,它将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户可以对...

    设计模式精解——GoF23中设计模式解析

    ### 设计模式精解——GoF23中设计模式解析 #### 重要性与起源 设计模式是软件工程领域的一项重要研究,它提供了一系列解决常见软件设计问题的模板。GoF23指的是由Erich Gamma、Richard Helm、Ralph Johnson和John ...

    设计模式代码——c#

    9. 组合模式(Composite Pattern) 10. 外观模式(Facade Pattern) 11. 享元模式(Flyweight Pattern) 12. 代理模式(Proxy Pattern) 行为型 13. 模板方法(Template Method) 14. 命令模式(Command Pattern) ...

    设计模式实验报告-组合模式.docx

    ### 设计模式实验报告——组合模式 #### 实验目的与背景 本次实验旨在通过实践学习设计模式中的组合模式,理解其工作原理及应用场景。组合模式(Composite Pattern)是一种结构型设计模式,它允许用户将对象组合成...

    设计模式精解-GoF 23种设计模式解析附C++.pdf

    ### 设计模式精解——GoF 23种设计模式解析及C++实现 #### 0. 引言 设计模式作为面向对象编程的核心组成部分,是软件开发者在长期实践中总结出来的最佳实践。通过深入理解这些设计模式,我们可以更好地进行面向...

    设计模式精解-GoF 23种设计模式解析.pdf

    - **2.4 Composite模式**:组合模式允许你将对象组织成树形结构,以表示部分-整体层次结构。复合模式让客户端可以一致地处理单个对象和组合对象。 - **2.5 Flyweight模式**:享元模式通过共享尽可能多的数据来支持...

    设计模式PPT---25种设计模式详解

    这份名为“设计模式PPT——25种设计模式详解”的资料,显然是一个深入探讨设计模式的教程,它通过PDF格式对25种主要的设计模式进行了详尽的阐述。 首先,我们要理解设计模式的基本概念。设计模式不是代码,而是一种...

    Python设计模式之组合模式原理与用法实例分析

    本文实例讲述了Python设计模式之组合模式原理与用法。...设计模式——组合模式 组合模式(Composite Pattern):将对象组合成成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用

    X-gen PPT下载——《研磨设计模式》 实战

    2. **结构型模式**:如适配器模式(Adapter)、装饰器模式(Decorator)、代理模式(Proxy)、桥接模式(Bridge)、组合模式(Composite)、外观模式(Facade)和享元模式(Flyweight)。这些模式处理对象之间的关系...

    设计模式C++版(pdf版)

    ### 设计模式精解——GoF 23种设计模式解析及C++实现源码 #### 引言 设计模式是软件工程领域中一个极为重要的概念,它代表着一系列被广泛接受的解决特定问题的方法。GoF(Gang of Four)所提出的23种设计模式更是...

Global site tag (gtag.js) - Google Analytics