首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

初学者硕枫设计模式系列之9 组合模式

2012-09-24 
菜鸟硕枫设计模式系列之9 组合模式组合模式,顾名思义,采用了组合的方式,使得简单的对象可以组合成复杂的对

菜鸟硕枫设计模式系列之9 组合模式
组合模式,顾名思义,采用了组合的方式,使得简单的对象可以组合成复杂的对象,同时保证了简单对象和复杂对象使用上的一致性。这是一种典型的has- a 关系。用过组合 使得简单对象成为了复杂对象的一部分,而在使用上,简单对象和复杂对象又是一致的。

组合模式类图:

              


具体实例demo:

抽象对象:

package compositePattern;import java.util.ArrayList;public class CompositePatternTest {public static void main(String[]args){int  deep = 0;LaoDa[] laodas =new LaoDa[2];for(int i=0;i<2;i++){ laodas[i] = new LaoDa(new ArrayList<Person>(),i+"号老大");}Coder[] coders =new Coder[6];for(int j=0;j<6;j++){coders[j] = new Coder(null,j+"号码农");}for(int i =0;i<2;i++){laodas[i].add(coders[i]);laodas[i].add(coders[i+2]);laodas[i].add(coders[i+4]);}laodas[0].add(laodas[1]);show(laodas[0],0);}public static void show(Person p ,int deep){for(int i=0;i<=deep-1;i++)System.out.print("---");System.out.println(p.getName());if(p.personList!=null &&p.personList.size()>0)for(Person person : p.personList)show( person ,deep+1);}}


说明;简单对象类对一些非自己的功能可以将抽象对象功能空实现,这样既保证了简单对性爱那个和复杂对象类的一致性,又保证了各自功能的相对区别。

热点排行