设计模式(8) 组合模式
组合模式 透明模式与安全模式 对组合的筛选遍历 无论是在生活中还是项目中,我们经常会遇到具有“部分-整体”概念的对象,比如员工与团队的关系,这就类似树形结构,可能具有很多的嵌套层次和分支,把这种复杂性直接暴露给调用端是不合适的。 组合模式 借助组合模式,可以将这类具有“部分-整体”的对象组合成树形的层次结构,并使得用户可以对单个对象和组合对象采用相同的使用方式。 GOF对组合模式的描述为: Compose objects into tree structures to represent part-whole hierarchies. Compositelets clients treat individual objects and compositions of objects uniformly. — Design Patterns : Elements of Reusable Object-Oriented Software UML类图: 组合模式包含三个角色: Leaf:叶子节点,代表单个个体,它没有子节点。 Composite:组合节点,既可以包含叶子节点,也可以包含其他的组合节点, Component:抽象构件,定义Leaf和Composite共有的方法和属性,可以定义一些默认的行为或属性。 透明模式与安全模式 在使用组合模式时,根据抽象构件类的定义形式