使用场合
1.想表示对象的”部分-整体“层次结构的时候
2.希望用户忽略组合对象与单个对象的不同
主要解决的问题
比如:公司总经理,部门经理,员工之间的职位树形结构,这种比较复杂的树形结构
设计原则
1.统一对待个别对象合组合对象,(比如部门经理和员工都时属于公司员工,因此,他们的共同特点都是员工 )
2.面向抽象编程(部门经理,员工,都是员工 ,则抽象出一个员工类。公司所有都继承这个抽象类)
实例
使用场合
1.想表示对象的”部分-整体“层次结构的时候
2.希望用户忽略组合对象与单个对象的不同
主要解决的问题
比如:公司总经理,部门经理,员工之间的职位树形结构,这种比较复杂的树形结构
设计原则
1.统一对待个别对象合组合对象,(比如部门经理和员工都时属于公司员工,因此,他们的共同特点都是员工 )
2.面向抽象编程(部门经理,员工,都是员工 ,则抽象出一个员工类。公司所有都继承这个抽象类)
实例