一.工廠模式
簡(jiǎn)單理解:工廠模式是利用OC語(yǔ)言具有繼承和多態(tài)的特點(diǎn)來(lái)創(chuàng)建對(duì)象和管理對(duì)象的行為的一種設(shè)計(jì)模式胶征。
步驟:
1.新建一個(gè)工程命名為Pattern,并創(chuàng)建基類(lèi)Animal桨仿,在.h文件中添加實(shí)例方法睛低。
- (NSString *)speakLanguage;
.m中簡(jiǎn)單的實(shí)現(xiàn)
- (NSString *)speakLanguage{
return @"動(dòng)物語(yǔ)言";
}
2.分別創(chuàng)建Dog、Cat服傍、Tiger三個(gè)子類(lèi)钱雷,均繼承父類(lèi)Animal,并實(shí)現(xiàn)
- (NSString *)speakLanguage;
方法吹零,返回相應(yīng)類(lèi)型動(dòng)物的語(yǔ)言罩抗。
3.打開(kāi)StoryBoard,添加一個(gè)UILabel控件和三個(gè)UIButton控件并添加相應(yīng)的約束灿椅。
在ViewController中關(guān)聯(lián)UILabel控件命名ShowContext套蒂,關(guān)聯(lián)三個(gè)UIButton的點(diǎn)擊事件命名為showContextAccordingToObject钞支,設(shè)置三個(gè)UIButton的tag值用來(lái)區(qū)分點(diǎn)擊了哪個(gè)UIButton。在UIButton點(diǎn)擊事件中寫(xiě)入一下code操刀。
4.運(yùn)行Xcode
分別點(diǎn)擊三個(gè)UIButton伸辟,將看到UILabel顯示字體的變化,如下圖
二.策略模式
策略模式是對(duì)對(duì)象行為的一種封裝馍刮。
1.在原有的工程中新建StrategyObject,在.m中實(shí)現(xiàn)兩個(gè)方法
2.改變Viewcontroller窃蹋,新增枚舉PatternStatus卡啰,根據(jù)PatternStatus類(lèi)型選擇UIButton的點(diǎn)擊事件。
3.運(yùn)行Xcode警没,改變選擇模式后匈辱,點(diǎn)擊Dog、Cat杀迹、Tiger三個(gè)按鈕看showContext的變化亡脸。
最后:完整代碼