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. 例子:算术表达式包括操作数和操作符,但操作数也可以是操作树和操作符。
  • 相关阅读:
    下雪诗
    华视身份证阅读器100UC HTTP模式二次开发
    C# Action 和 Func 区别
    网站部署——文件系统
    前端-JavaScript DOM和BOM
    IO多路复用
    python-协程
    python-线程
    python-进程
    计算机与操作系统简介
  • 原文地址:https://www.cnblogs.com/banyu/p/6649640.html
Copyright © 2011-2022 走看看