设计模式之结构型(2)-组合模式(Composite)

(一)定义:组合多个对象形成树形结构以表示为“部分--整体”的结构层次。组合模式使得用户对单个对象和组合对象的使用具有一致性。

1.1  UML类图:

image

1.2  类与对象间的关系
Component
:部件抽象接口。
  ①  为组合的对象声明接口。
  ②  某些情况下,实现从此接口派生出所有类共有的默认行为。
  ③  定义一个接口可以访问及管理它的多个子部件(GetChild)。
  ④  如果必要,也可以在递归结构中定义一个接口访问它的父节点,并且实现它。
Leaf:叶部件
  ①  在组合中表示叶节点对象,叶节点没有子节点。
  ②  定义组合中原接口对象的行为。
Composite:组合类
  ①  定义有儿子节点(子部件)的部件的行为
  ②  存储儿子节点(子部件)
  ③  在Component接口中实现与子部件相关的操作

典型调用顺序图

组合模式-源码

源码分析:

1232017-09-07_115208

(二) 项目案例分析    源码下载
案例描述:假设某个公司的OA系统要计算员工和部门工资。部门有部门主管,其他下有多名员工。既要计算个体员工工资,又要计算部门开支公司。图形如下
1111

原文地址:https://www.cnblogs.com/lihuali/p/7483309.html