You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
public class Department {
private String name;
private String remark;
private List<Department> list;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public List<Department> getList() {
return list;
}
public void setList(List<Department> list) {
this.list = list;
}
}
//创建组合
Department js = new Department();
js.setName("技术部");
Department hr = new Department();
hr.setName("人力资源部");
Department cw = new Department();
cw.setName("财务部");
Department department2 = new Department();
department2.setName("总经理");
List<Department> list2 = new ArrayList<>();
list2.add(js);
list2.add(hr);
list2.add(cw);
department2.setList(list2);
Department department1 = new Department();
department1.setName("董事会");
List<Department> list1 = new ArrayList<>();
list1.add(department2);
department1.setList(list1);
//递归输出部门信息
public static void print(Department department) {
System.out.println(department.getName());
if (department.getList() != null) {
for (Department d : department.getList()) {
print(d);
}
}
}
1. 什么是组合模式?有什么作用?
组合模式又叫部分整体模式,是一种结构型设计模式。组合模式使用树形结构来组合对象,用于表示部分以及整体层次。
2. 如何实现?
以公司架构为例实现组合模式,实现代码如下:
//定义部门
//创建组合
//递归输出部门信息
3. JDK或Android的应用举例
在JDK中AWT和Swing包的设计使用的就是组合模式,File对象的管理也是组合模式。在Android SDK中,View的设计就是组合模式。
4.小结
组合模式的使用场景是表示一个对象整体-部分层次结构,即树形结构。比如文件文件夹的管理,公司部门架构等。
The text was updated successfully, but these errors were encountered: