组合模式我个人感觉很像与持久层映射使用的entity。讲过个属性组合在一起的树形结构,形成一个对象。
当需要使用树形结构的对象管理时,可以考虑使用。
示例:
public class Employee {
String name;
String dept;
int salary;
List<Employee> subordinated;
public Employee(String name,String dept,int sal){
this.name = name;
this.dept = dept;
this.sal = sal;
subordinated = new ArrayList<Employee>();
}
public add(Employee e){
subordinated.add(e);
}
public remove(Employee e){
subordinated.remove(e);
}
public List<Employee> getSubordinated(){
return subordinated;
}
}