zoukankan      html  css  js  c++  java
  • 命令模式

    1、背景

           当需要向某些对象发送请求,但是不知道请求的接受者是谁,也不知道被请求的操作是哪个,是得请求发送者与请求接受者解耦。

    2、模式定义

           命令模式(Command Pattern):将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化,对请求排队或者记录请求日志,以及支持可撤销的操作。

    3、模式结构

           命令模式包括如下角色:

    • Command:抽象命令类
    • ConcreteCommand:具体命令类
    • Invoker:调用者
    • Receiver:接收者
    • Client:客户类

    4、优点

    • 降低系统的耦合度。
    • 新的命令可以很容易的加入到系统中。
    • 可以比较容易的设计一个命令队列和宏命令(组合命令)。
    • 可以方便的实现对请求的Undo和Redo。

    5、缺点

           使用命令模式可能会导致某些系统有过多的具体命令雷。由于针对每一个命令都需要设计一个具体命令类,因此某些系统可能需要大量具体命令类,这将影响命令模式的使用。

    6、为什么使用命令模式

    (1)我们需要Client和Receiver同时开发,而且在开发过程中需要分别不停地重构,改名。

    (2)要求有Redo和Undo等功能。

    (3)要求命令不按照调用顺序执行,而是按照执行时的情况排序执行。

    (4)在上述情况下,接收者有多个。

    编写不易,转载注明出处:https://www.cnblogs.com/lmh15054109/p/14411160.html

  • 相关阅读:
    21 viewPager--- hzScrollView ----llContainer
    21 ViewPager RadioGroup
    CLEAR REFRESH FEEE的区别
    在ALV中更新数据库表
    cl_gui_cfw=>flush
    cl_gui_cfw=>dispatch
    数据库表-DD01L DD02L DD03L-保存数据表和域的消息
    SAP 锁机制
    ABAP 搜索帮助
    SAP Basis常用事务代码
  • 原文地址:https://www.cnblogs.com/lmh15054109/p/14411160.html
Copyright © 2011-2022 走看看