zoukankan      html  css  js  c++  java
  • [Design] Command Pattern

      行为模式主要是责任和算法的抽象化。行为模式不仅仅是关于类和对象的,而且是关于它们之间的相互作用的。
      行为模式分为类的行为模式和对象的行为模式两种。
    类的行为模式
        类的行为模式使用继承关系在几个类之间分配行为。
    对象的行为模式
        对象的行为模式则使用对象的聚合来分配行为。
    --------------------------------------------------------
    命令模式

    命令模式是对象的行为模式。以称为行动模式或交易模式。

    命令模式把一个请求或者操作封装到一个对象中,命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。

     

    结构及角色

    • 1、客户(Client)角色

    创建一个具体命令对象并确定其接收者。

    • 2、抽象命令(Command)角色

    声明所有具体命令角色必须实现的接口,一般由抽角类或接口实现。

    • 3、具体命令(Concrete Command)角色

    实现抽象命令角色所声明的接口。并定义一个接收者和行为之间的弱耦合,负责调用接收者的相应操作。

    • 4、请求者(Invoker)角色

    负责调用命令对象执行请求,相关的方法叫做行动方法。

    • 5、接收者(Receiver)角色

    负责具体实施和执行一个请求。任何一个类都可以成为接收者,实施和执行请求的方法叫做行动方法。

  • 相关阅读:
    poj 1860 最短路—Bellman-Ford算法
    poj 3083 dfs+bfs最短路
    poj 2049 Finding Nemo(bfs+优先队列)
    Codeforces 685B 树形dp
    Codeforces 679B
    hdu 5695 拓扑排序裸题
    hdu 5690 矩阵快速幂/循环节
    《概率》第一卷( 修订和补充第三版)施利亚耶夫著 周概荣译本 勘误
    HDU 2124 Repair the Wall
    HDU 1198 Farm Irrigation
  • 原文地址:https://www.cnblogs.com/abeen/p/1441894.html
Copyright © 2011-2022 走看看