菜鸟硕枫设计模式系列之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);}}