一.工廠模式
簡單理解:工廠模式是利用OC語言具有繼承和多態(tài)的特點來創(chuàng)建對象和管理對象的行為的一種設(shè)計模式。
步驟:
1.新建一個工程命名為Pattern,并創(chuàng)建基類Animal,在.h文件中添加實例方法。
- (NSString *)speakLanguage;
.m中簡單的實現(xiàn)
- (NSString *)speakLanguage{
return @"動物語言";
}
2.分別創(chuàng)建Dog、Cat、Tiger三個子類,均繼承父類Animal,并實現(xiàn)
- (NSString *)speakLanguage;
方法,返回相應(yīng)類型動物的語言。
3.打開StoryBoard,添加一個UILabel控件和三個UIButton控件并添加相應(yīng)的約束。

在ViewController中關(guān)聯(lián)UILabel控件命名ShowContext,關(guān)聯(lián)三個UIButton的點擊事件命名為showContextAccordingToObject,設(shè)置三個UIButton的tag值用來區(qū)分點擊了哪個UIButton。在UIButton點擊事件中寫入一下code。

4.運行Xcode
分別點擊三個UIButton,將看到UILabel顯示字體的變化,如下圖



二.策略模式
策略模式是對對象行為的一種封裝。
1.在原有的工程中新建StrategyObject,在.m中實現(xiàn)兩個方法

2.改變Viewcontroller,新增枚舉PatternStatus,根據(jù)PatternStatus類型選擇UIButton的點擊事件。

3.運行Xcode,改變選擇模式后,點擊Dog、Cat、Tiger三個按鈕看showContext的變化。
最后:完整代碼