首页 > 代码库 > iOS设计模式 - 命令
iOS设计模式 - 命令
iOS设计模式 - 命令
原理图
说明
命令对象封装了如何对目标执行指令的信息,因此客户端或调用者不必了解目标的任何细节,却仍可以对他执行任何已有的操作。通过把请求封装成对象,客户端可以把它参数化并置入队列或日志中,也能够支持可撤销操作。命令对象将一个或多个动作绑定到特定的接收器。命令模式消除了作为对象的动作和执行它的接收器之间的绑定。
// // Invoker.h // CommandPattern // // Created by YouXianMing on 15/10/17. // Copyright ? 2015年 YouXianMing. All rights reserved. // #import <Foundation/Foundation.h> #import "CommandProtocol.h" @interface Invoker : NSObject /** * 单例 * * @return 单例 */ + (instancetype)sharedInstance; /** * 添加并执行 * * @param command 命令 */ - (void)addAndExecute:(id <CommandProtocol>)command; @end
// // Invoker.m // CommandPattern // // Created by YouXianMing on 15/10/17. // Copyright ? 2015年 YouXianMing. All rights reserved. // #import "Invoker.h" @interface Invoker () @property (nonatomic, strong) NSMutableArray *commandQueue; @end @implementation Invoker + (instancetype)sharedInstance { static Invoker *sharedInstanceValue = http://www.mamicode.com/nil;>
// // CommandProtocol.h // CommandPattern // // Created by YouXianMing on 15/10/17. // Copyright ? 2015年 YouXianMing. All rights reserved. // #import <Foundation/Foundation.h> @protocol CommandProtocol <NSObject> @required /** * 执行指令 */ - (void)execute; @end
细节
iOS设计模式 - 命令
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。