zoukankan      html  css  js  c++  java
  • 设计模式Command(命令模式)

    Command模式把发出命令的一方和执行命令的一方分离开来,使得请求的一方不必知道接收的一方的接口,更不必知道请求是怎么被接收,以及操作是否被执行、何时被执行,以及是怎么被执行的。

    它包含下面几个角色:
  • 命令(Command)角色:声明了一个给所有具体命令类的抽象接口。
  • 具体命令(ConcreteCommand)角色:定义一个接受者和行为之间的弱耦合,实现Execute()方法,负责调用接收考的相应操作。Execute()方法通常叫做执方法。
  • 请求者(Invoker)角色:负责发出命令的一方。
  • 接收者(Receiver)角色:负责具体实施和执行一个请求。
  • 命令模式的一个优点是可以方便的实现undo和redo功能。
    下面的例子说明了这点:
    先定义Command接口:
      abstract class Command
      {
        
    public abstract void Execute();
        
    public abstract void UnExecute(); // 支持undo
      }
    下面定义命令的接收者(Receiver):

    Code
查看全文
  • 相关阅读:
    FZU 2104 Floor problem (水题)
    POJ 1797 Heavy Transportation (最短路变形)
    ZOJ 3708 Density of Power Network (水题)
    POJ 2488 A Knight's Journey (DFS)
    HDU 1198 Farm Irrigation (并查集)
    HDU 1052 Tian Ji -- The Horse Racing (贪心)
    HDU 1598 find the most comfortable road (并查集||最短路)
    poj 2533 Longest Ordered Subsequence(最长上升子序列)
    hdu 2025 查找最大元素 (水)
    hdu 5142 NPY and FFT(水)
  • 原文地址:https://www.cnblogs.com/bear831204/p/1263060.html
  • Copyright © 2011-2022 走看看