zoukankan      html  css  js  c++  java
  • 组合模式(Composite Pattern)

    标签(空格分隔): 设计模式


    组合模式是结构型模式,在表示一种关系时使用。

    1. 将对象组合成树形结构以表示"部分-整体"的层次结构(文件夹与文件,树枝和叶子,部门与员工)。类似递归。
    2. 客户程序可以像处理简单元素一样来处理复杂元素。

    UML类结构图

    Component:是组合中的对象声明接口,实现所有类共有接口的默认行为(即所有Operation())。声明几个接口方法用于访问和管理Component子部件(Add()Remove()等)。
    Leaf:在组合树中表示叶节点对象,叶节点没有子节点。并在组合中定义图元对象的行为。
    Composite:递归存储子部件列表,并实现管理子部件的行为的方法。
    Client:客户程序,通过component接口操纵组合部件的对象。


    例子:

    1. Employee接口即Component,可以表示一个员工,也可以表示一个部门。所以设计时Employee接口里面组合一个Employee列表。
    2. 例子:算术表达式包括操作数和操作符,但操作数也可以是操作树和操作符。
  • 相关阅读:
    Spring +quartz获取ApplicationContext上下文
    开源 java CMS
    js实现页面跳转的几种方式
    hdu-4089-Activation-概率dp
    linux 内核定时器
    linux 短延时
    linux 基于 jiffy 的超时
    linux 让出处理器
    linux 延后执行
    linux获知当前时间
  • 原文地址:https://www.cnblogs.com/banyu/p/6649640.html
Copyright © 2011-2022 走看看