设计模式学习系列六:组合模式(composite)
2013-03-22 13:40
633 查看
组合模式
看了半天,不知道这种模式存在的意义。。。
http://blog.csdn.net/iihero/article/details/8201962
组合模式(Composite)
把整体和局部的关系用树状结构描述出来,使得客户端把整体对象和局部对象同等看待。
import java.util.*; public class TestComposite { public static void main(String[] args) { Node n1=new LeafNode(3); Node n2=new LeafNode(4); Node n3=new LeafNode(6); Node n4=new LeafNode(5); Node n5=new LeafNode(2); Node n6=new LeafNode(9); Node n7=new LeafNode(12); Node n8=new LeafNode(7); Node n9=new LeafNode(8); Node c1=new CompositeNode(n1,n2,n3); Node c4=new CompositeNode(n8,n9); Node c3=new CompositeNode(n5,c4); Node c2=new CompositeNode(n4,c3); Node c5=new CompositeNode(n6,n7); Node root=new CompositeNode(c1,c2,c5); System.out.println(root.getValue()); } } abstract class Node{ public abstract int getValue(); } class LeafNode extends Node{ int value; public LeafNode(int value){ this.value=value; } public int getValue(){ return value; } } class CompositeNode extends Node{ private List children=new ArrayList(); public CompositeNode(Node... nodes){ for(Node n:nodes){ children.add(n); } } public int getValue(){ int result=0; for(Node n:children){ result+=n.getValue(); } return result; } }
相关文章推荐
- C#面向对象设计模式学习笔记(8) - Composite 组合模式(结构型模式)
- 设计模式学习笔记---组合模式composite(Java版)
- 设计模式学习—组合实体模式(Composite Entity Design Pattern)
- 设计模式总结篇系列:组合模式(Composite)
- 步步为营 .NET 设计模式学习笔记 十五、Composite(组合模式)
- 设计模式学习笔记——组合(Composite)模式
- 【设计模式】学习笔记13:组合模式(Composite)
- 步步为营 .NET 设计模式学习笔记 十五、Composite(组合模式)
- 设计模式学习-Composite(组合模式)
- 设计模式学习-Composite(组合模式)
- 设计模式学习(结构型模式)—组合模式(Composite)
- 面向对象设计模式之Composite组合模式学习笔记
- 步步为营 .NET 设计模式学习笔记 十五、Composite(组合模式)
- java 设计模式学习笔记八 composite组合模式
- 设计模式学习之组合模式(Composite)
- java 设计模式学习笔记八 composite组合模式
- 【设计模式】学习笔记13:组合模式(Composite)
- 设计模式总结篇系列:组合模式(Composite)
- 设计模式学习笔记Composite组合模式
- C#设计模式系列:组合模式(Composite)