15.命令模式

命令模式是一个高内聚的模式,其定义为:Encapsulate a request as an object,thereby letting you parameterize clients with different requests,queue or log requests,and support undoable operations.将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。

命令模式的优点

  • 类间解耦
  • 可扩展性
  • 命令模式结合其他模式会更优秀:命令模式可以结合责任链模式,实现命令族解析任务;结合模板方法模式,则可以减少Command子类的膨胀问题

命令模式的缺点:

  • Command子类的膨胀问题

命令的撤销:

有两种方式可以解决:一是结合备忘录模式还原最后状态,该方法适合接收者为状态的变更情况,而不适合事件处理;而是通过增加一个新的命令,实现事件的回滚。

results matching ""

    No results matching ""