Composite Pattern组合模式
简述:
- 组合模式,又叫部分整体模式,它创建了对象组的树形结构,将对象组合成树状结构以表示"整体-部分"的层次关系。
- 组合模式一句树形结构来组合对象,用来表示部分以及整体层次。
- 这种类型的设计模式属于结构型模式。
- 组合模式使得用户对单个对象和组合对象的访问具有一致性,即组合能让客户以一致的方式处理个别对象以及组合对象。
例子
编写程序展示一个学校院系结构:要在一个页面中展示出学校的院系组成,一个学校有很多学院,一个学院有很多系。
有一个OrganizationComponent类(可是普通类、抽象类和接口,按照业务需求来),有Department(系)、Collage(学院)、University(大学)三个类继承它(把三个层次都看成是同级的组织),OrganizationComponent类中有add、remove、print方法。所以可知道系是叶子节点,学院和大学是非叶子节点。
OrganizationComponent类:
public abstract class OrganizationComponent {
private String name;
private String des;
public OrganizationComponent(String name, String des) {
this.name = name;
this.des = des;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDes() {
return des;
}
public void setDes(String des) {
this.des = des;
}
//所有都要实现
protected abstract void print();
//叶子节点不用实现,所以不写成抽象的
protected void add(Organiza