一.工厂模式
简单理解:工厂模式是利用OC语言具有继承和多态的特点来创建对象和管理对象的行为的一种设计模式。
步骤:
1.新建一个工程命名为Pattern,并创建基类Animal,在.h文件中添加实例方法。
- (NSString *)speakLanguage;
.m中简单的实现
- (NSString *)speakLanguage{
return @"动物语言";
}
2.分别创建Dog、Cat、Tiger三个子类,均继承父类Animal,并实现
- (NSString *)speakLanguage;
方法,返回相应类型动物的语言。
3.打开StoryBoard,添加一个UILabel控件和三个UIButton控件并添加相应的约束。
UI在ViewController中关联UILabel控件命名ShowContext,关联三个UIButton的点击事件命名为showContextAccordingToObject,设置三个UIButton的tag值用来区分点击了哪个UIButton。在UIButton点击事件中写入一下code。
showContextAccordingToObject方法4.运行Xcode
分别点击三个UIButton,将看到UILabel显示字体的变化,如下图
dog cat tiger二.策略模式
策略模式是对对象行为的一种封装。
1.在原有的工程中新建StrategyObject,在.m中实现两个方法
2.改变Viewcontroller,新增枚举PatternStatus,根据PatternStatus类型选择UIButton的点击事件。
改变后showContextAccordingToObject3.运行Xcode,改变选择模式后,点击Dog、Cat、Tiger三个按钮看showContext的变化。
最后:完整代码
网友评论