Java设计模式,命令模式(Command)
    Monday, July 17, 2017
    8:26 AM
    命令模式又称为动作(Action)模式、事务(transaction)模式,将一个请求封装为一个对象,以便使用不同的请求、日志、队列等来参数化其他对象。命令模式也支持撤销的操作。
    评论中有看到需要思维导图的,这样吧,点赞、评论后私信我,我给你发,内容包括Java基础、javaweb、5个框架的思维导图。这是一份非常详尽细致的学习路线图,不像别的图一样泛泛而论,涉及到Java学习的每一个知识点。对于不知道Java怎么学、怎么样去学Java比较省时省力的朋友,我想会很有帮助。
    一张图搞定Java设计模式,命令模式(Command)
    一张图搞定Java设计模式,命令模式(Command)
    java设计模式思维导图
    命令模式结构

    • Command抽象命令类
    • CocreteCommand具体命令类

    -Invoker调用者/请求者(老板)

    • 请求的发送者,它通过命令对象来执行请求。
    • 一个调用者并不需要在设计时确定其接收者,因此他只与抽象命令类存在联系。(老板指示部门去完成工作,但具体是哪个员工去做,老板不管)
    • Receiver接收者(具体执行任务的员工)
    • 接收者执行与请求相关的操作,具体实现对请求的业务处理。

    - Client客户类(下订单的客户)

    • 在客户类中需要创建调用者对象、具体命令类对象,在创建命令对象时指定对应的接收者。
    • 发送者和接收者之间没有直接关系,都通过命令对象间接调用。

    一张图搞定Java设计模式,命令模式(Command)
    相关类图
    开发中常见的场景

    • Struts2中,action的整个调用过程中就有命令模式。
    • 数据库事务机制的底层实现。
    • 命令的撤销和恢复。

    代码实现
    一张图搞定Java设计模式,命令模式(Command)
    一张图搞定Java设计模式,命令模式(Command)
    一张图搞定Java设计模式,命令模式(Command)
    一张图搞定Java设计模式,命令模式(Command)
    已使用 Microsoft OneNote 2016 创建。