`
wdt1988520
  • 浏览: 14521 次
社区版块
存档分类
最新评论

组合模式Composite Pattern

阅读更多

定义(GoF《设计模式》):将对象组合成树形结构一表示“部分整体”的层次结构,使的用户对单个对象和使用具有一致性。

 

组合模式:使用我在处理树形结构中的复杂等级机构时非常有用,它可以使得客户端处理复杂对象就想处理简单对象一样,从而使得客户端与复杂对象之间解耦。 比如:递归数据结构、分级数据结构、树形结构。 例:树形菜单,文件系统。

 



想到组合模式的实现我就想到了传销,中国大多数直销企业打着直销的名,干着传销的事。想必大家都知道传销是怎么一回事。最上面一个团队发展他们的下面的下线,他们的下线在发展下线,他们下线的下线在发展下线,这样不断的循环,而他们的收入就是从下线的收入中提取。 哈哈 这才真正体现了“以人为本”,人越多钱越多.........

 

//传销核心实现
public abstract class Group{     //团队模型
     public String name;
     
     public List<Group> groups;
     public Group(String name){
         this.name=name;
         this.groups=new ArrayList<Group>();
     }
  
     public abstract void add(Group group);
     public abstract void remove(Group group);
     public abstract void display(Group group);
}

public class SummitGroup extends Group{

     public SummitGroup(String name){
          super(name);
     }

     public void add(Group group){
            this.groups.add(group);
       }

     public  void remove(Group group){
         this.groups.remove(group);
     }

     public  void display(Group group){
        //.................
     }
}

public class OneGroup extends Group{
     
      public   OneGroup(String name){
             super(name);    
      }

     public void add(Group group){
            this.groups.add(group);
  }

  public  void remove(Group group){
         this.groups.remove(group);
  }

  public  void display(Group group){
        //.................
  }
}


main(){
 Group summit=new SummitGroup("顶级团队")

 Group one1=new OneGroup("一级团队");
 Group one2=new OneGroup("一级团队");
 Group two1=new TwoGroup("二级团队");
 Group two2=new TwoGroup("二级团队");
 Group two3=new TwoGroup("二级团队")
 one1.add(two1);

 one2.add(two2);
 one2.add(two3);

 summit.add(one1);
 summit.add(one2);
}

 

 

 

 

 

 

 

 

  • 大小: 26.3 KB
分享到:
评论

相关推荐

    组合模式 Composite Pattern

    组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的...

    设计模式之组合模式(Composite Pattern)

    将对象组合成树形结构以表示“部分-整体”的层次结构。它使得客户对单个对象和复合对象的使用具有一致性。

    Java24种设计模式,Java24种设计模式,24种设计模式,学会了这24种设计模式,可以打遍天下无敌手,设计模式非常重要

    15、组合模式COMPOSITE PATTERN 16、观察者模式OBSERVER PATTERN 17、责任链模式 18、访问者模式VISITOR PATTERN 19、状态模式 20、原型模式 21、中介者模式 22、解释器模式 23、亨元模式 24、备忘录模式

    组合模式(Composite Pattern)原理图

    组合模式(Composite Pattern)是一种对象结构型模式,其定义是将多个对象组合成树形结构以表示“整体-部分”关系的层次结构。它使得客户端对单个对象和组合对象的使用具有一致性。在组合模式中,对象被组织成树形...

    Composite Pattern(组合模式)

    主要是利用工具设计的UML图 博文链接:https://futrueboy.iteye.com/blog/385925

    Head First 设计模式 (九) 迭代器与组合模式(Iterator & Composite pattern) C++实现

    Head First 设计模式 (九) 迭代器与组合模式(Iterator & Composite pattern) C++实现

    设计模式_组合模式.zip

    组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的...

    设计模式面面观(11):组合模式(Composite Pattern)-结构型模式

    http://blog.csdn.net/fanweiwei/archive/2008/02/26/2121336.aspx

    .NET设计模式(11):组合模式(CompositePattern)

    [GOF《设计模式》]图1Composite模式结构图组合模式将对象组合成树形结构以表示"部分-整体"的层次结构。让用户一致地使用单个对象和组合对象。虽然例子抽象一些,但是算术表达式确实是组合的例子。算术表达式包括操作...

    C#版 24种设计模式

    备忘录模式(Memento Pattern) 策略模式(Strategy Pattern) 抽象工厂模式(Abstract Factory Pattern) 代理模式(Proxy Pattern) ...装饰模式(Decorator Pattern) 状态模式(State Pattern) 组合模式(Composite Pattern)

    c++设计模式-结构型模式-组合模式

    c++设计模式-结构型模式-组合模式;qt工程;c++简单源码; 组合(Composite Pattern)模式的定义:有时又叫作整体-部分(Part-Whole)模式,它是一种将对象组合成树状的层次结构的模式,用来表示“整体-部分”的关系...

    用Java实现23种设计模式

    组合模式(Composite Pattern) 装饰器模式(Decorator Pattern) 外观模式(Facade Pattern) 享元模式(Flyweight Pattern) 代理模式(Proxy Pattern) 3. 行为型模式 责任链模式(Chain of Responsibility...

    33种JAVA设计模式DEMO

    组合模式(Composite Pattern) 装饰器模式(Decorator Pattern) 外观模式(Facade Pattern) 享元模式(Flyweight Pattern) 代理模式(Proxy Pattern) 3 行为型模式 这些设计模式特别关注对象之间的通信。 责任...

    CompositePattern.rar

    本资源是基于设计模式,通过C++语言实现组合模式。它实现虽然有些简单,但是主要是方便我们去了解组合模式思路。

    C#设计模式_设计模式_C#_

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

    C#设计模式(23种设计模式)

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

    设计模式PPT

     组合模式(Composite Pattern)  装饰者模式(Decorator Pattern)  外观模式(Facade Pattern)  享元模式(Flyweight Pattern)  代理模式(Proxy Pattern) 行为型模式用来对类或对象怎样交互和怎样...

    Java设计模式,并加上个人理解

    11. 组合模式 (Composite Pattern) 12. 装饰者模式 (Decorator Pattern) 13. 访问者模式 (Visitor Pattern) 14. 迭代器模式 (Iterator Pattern) 15. 享元模式 (Flyweight Pattern) 16. 桥接模式 (Bridge ...

Global site tag (gtag.js) - Google Analytics