ios設計模式 - 命令
原理圖
命令物件封裝了如何對目標執行指令的資訊,因此客戶端或呼叫者不必了解目標的任何細節,卻仍可以對他執行任何已有的操作。通過把請求封裝成物件,客戶端可以把它引數化並置入佇列或日誌中,也能夠支援可撤銷操作。命令物件將乙個或多個動作繫結到特定的接收器。命令模式消除了作為物件的動作和執行它的接收器之間的繫結。原始碼
//
// invoker.h
// commandpattern
//// created by youxianming on 15/10/17.
//#import #import "commandprotocol.h"
@inte***ce invoker : nsobject
/** * 單例
* * @return 單例
*/+ (instancetype)sharedinstance;
/** * 新增並執行
* * @param command 命令
*/- (void)addandexecute:(id )command;
@end
//
// invoker.m
// commandpattern
//// created by youxianming on 15/10/17.
//#import "invoker.h"
@inte***ce invoker ()
@property (nonatomic, strong) nsmutablearray *commandqueue;
@end
@implementation invoker
+ (instancetype)sharedinstance );
return sharedinstancevalue;
}- (void)addandexecute:(id )command
@end
//
// commandprotocol.h
// commandpattern
//// created by youxianming on 15/10/17.
//#import @protocol commandprotocol @required
/** * 執行指令
*/- (void)execute;
@end
細節
iOS設計模式之命令模式
命令 command 模式的 將乙個請求封裝為乙個物件,使發出請求的責任和執行請求的責任分割開。這樣兩者之間通過命令物件進行溝通,這樣方便將命令物件進行儲存 傳遞 呼叫 增加與管理。命令 command 模式的定義如下 將乙個請求封裝為乙個物件,使發出請求的責任和執行請求的責任分割開。這樣兩者之間通...
iOS設計模式
中介者模式 用乙個物件來封裝一系列物件的互動方式。中介者使各物件不需要顯式地相互引用,從而使其耦合鬆散,而且可以獨立地改變它們之間的互動。享元模式 在物件導向軟體設計中,利用公共物件不僅能節省資源還能提高效能。共享的物件只能提供某些內在的資訊,而不能用來識別物件。專門用於設計可共享物件的一種設計模式...
IOS設計模式 MVC模式
提到ios中的mvc不得不提2011秋季斯坦福課程的老頭,他的iphone開發公開課是所有描述ios中mvc模式最為準確並且最為淺顯易懂的。模型 檢視 控制器 這個模式其實應該叫做mcv,用控制器把model與view隔開才對,也就是model與view互相不知道對方的存在,沒有任何瓜葛,他們就像乙...