zoukankan      html  css  js  c++  java
  • (结构型模式)Composite——组合模式

    1、意图

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

    2、优缺点分析

    GOOD:整体和部分可以被一致对待(如WORD中复制一个文字、一段文字、一篇文章都是一样的操作)

    用户不用关心到底是处理一个叶结点还是处理一个组合组件,也就不用为定义组合而写一些选择判断语句,即用户可以一致的使用组合结构和单个对象。

    适用情况当需求中是体现部分与整体层次的结构时,以及希望用户可以忽略组合对象与单个对象的不同,统一地使用组合结构中的所有对象时,就应该考虑用组合模式

    3、UML图

    K~7}3T5%@%4TN89B2QV_MIN

    抽象基类:

    1)Component:为组合中的对象声明接口,声明了类公有接口的缺省行为,声明了一个接口函数可以访问Component的子组件。

    接口函数:

    1)Component::Operation:定义了各个组件共有的行为接口,由各个组件的具体实现

    2)Component::Add:添加一个子组件

    3)Component::Remove:删除一个子组件

    4)Component::GetChild:获得子组件的指针

    解析:组合模式是为了解决组件之间的递归组合提供了解决的办法,它主要分为两个派生类,其中的Leaf是叶子结点,也就是不再含有子组件的结点;而Composite是继续含有子组件的类。

  • 相关阅读:
    matlab矩阵和矩阵操作基础
    [ZZ] MathType转化为LaTeX公式语言
    [综] 粒子滤波
    [综] Endnote怎么下载杂志格式?
    英语句子的连接方式
    [zz] postscript打印机以及ps文件转eps文件
    [zz]SCI投稿经验
    all, whole, entire, total, complete
    [转] 动态规划 最短路径
    [zz] Dynamic Time Warping 动态时间规整(弯折)
  • 原文地址:https://www.cnblogs.com/steven_oyj/p/1759924.html
Copyright © 2011-2022 走看看