zoukankan      html  css  js  c++  java
  • iOS设计模式之命令模式

    命令模式

    基本理解

    • 命令模式(Command),将一个请求封装为一个对象,从而使你可用不同的请求对客户端进行参数化;对请求队列或记录请求日志,以及支持客可撤离的操作。
    • 苹果的Target-Action调用机制已经实现了命令模式。NSInvocation包含一个target对象,一个方法和一些参数。这个对象可以按需要动态修改。这是一个非常好的命令模式的例子。减少对象和接收对象之间的操作,直接写成一个请求或请求链。

    命令模式的优点

    • 它能够容易地设计一个命令队列
    • 在需要的情况相爱,可以较容易地将命令记入日志
    • 允许接受请求的一方决定是否否决请求
    • 可以容易地实现对请求的撤销和重做
    • 由于加进新的具体命令类不影响其他的类,因此增加新的具体命令类很容易
      *命令模式把请求一个操作的对象与知道怎么执行一个操作的对象分隔开。

    何时使用命令模式

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

    在Cocoa Touch框架中使用命令模式

    • NSInvocation
      它是静态描绘的OC消息。
    • NSUndoManager

    备注

    这个设计模式学习的不太深刻,所以就没有例子可介绍了,不过在网上看了一个例子,感兴趣的可以下载查看:
    http://pan.baidu.com/s/1sdGsA

  • 相关阅读:
    23.Vue技术栈开发实战-Icon组件
    shell脚本每行后面多了一个^M的原因和解决办法
    mmap概述
    camera otp介绍
    brk实现
    USB技术浅析
    带你遨游USB世界
    echarts 更换主题颜色
    Hive UDAF介绍与开发
    2020湖北高考理科第一名唐楚玥的学习方法演讲
  • 原文地址:https://www.cnblogs.com/zhanggui/p/4709317.html
Copyright © 2011-2022 走看看