zoukankan      html  css  js  c++  java
  • 设计模式之结构型(2)-组合模式(Composite)

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

    1.1  UML类图:

    image

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

    典型调用顺序图

    组合模式-源码

    源码分析:

    1232017-09-07_115208

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

  • 相关阅读:
    关东升的《从零開始学Swift》即将出版
    input子系统驱动学习之中的一个
    linux 搭建https server (apache)
    Http协议具体解释
    三天学会HTML5——SVG和Canvas的使用
    阿里2016实习offer五面经验与总结
    你所须要知道的项目管理知识
    【hadoop2.6.0】用C++ 编写mapreduce
    【leetcode】 Letter Combinations of a Phone Number(middle)
    【杂感】目标跟踪的用途
  • 原文地址:https://www.cnblogs.com/lihuali/p/7483309.html
Copyright © 2011-2022 走看看