设计模式-命令模式《二十》

何为命令模式

定义:将请求封装为一个对象,从而可用不同的请求对客户进行参数化,
对请求排队或记录请求日志,以及支持可撤销的操作

静态关系图如下

命令模式

何时使用命令模式

1、想让应用程序支持撤销与恢复
2、想用对象参数化一个动作以执行操作,并用不同命令对象来代替回调函数
3、想要在不同时刻对请求进行指定、排列和执行
4、想记录修改日志、这样在系统故障时,这些修改可在后来重做一遍
5、想让系统支持事务,事务封装了对数据的一系列修改。事务可以建模为命令对象

NSInvocation类的命令模式的新类图
DrawScribbleCommand和相关类的类图

Objective-C项目地址

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 目录 本文的结构如下: 什么是命令模式 为什么要用该模式 模式的结构 代码示例 优点和缺点 适用环境 模式应用 总...
    w1992wishes阅读 1,148评论 2 9
  • 【学习难度:★★★☆☆,使用频率:★★★★☆】直接出处:命令模式梳理和学习:https://github.com/...
    BruceOuyang阅读 851评论 0 3
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,138评论 1 32
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,437评论 0 9
  • 在森林的最深处有一棵古老的大树,叶绿繁茂,枝臂张扬,伸爪,能遮天蔽日。 奇怪的却是大树上没有栖息任何一种小动物,但...
    菩提子的叶阅读 717评论 8 12