IOS开发过程中常用的设计模式

当下IOS开发的过程中,常用的设计模式有:单例模式、委托模式、观察者模式和MVC模式;

一、单例模式

我们平时常用的UIApplication 、 NSUserdefaults 、 NSNotificationCenter这些类都是单例。单例模式的作用是解决应用中只有一个实例的一类问题;

1、UIApplication,这个实例代表了整个应用程序对象,它只能是一个实例,来实现应用程序中一些共享资源的访问和状态保持等等。例如:[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://110"]];来调用系统拨打110;

2、NSUserdefaults ,这个实例可以方便的保存应用程序的一些设置,持久化保存一些需要的数据,[[NSUserDefaults standardUserDefaults] setObject:@"张三"forKey:@"name"];

3、NSNotificationCenter, 这个实例指的是通知中心,发出通知,并可以传递数据;

二、委托模式

委托模式是为了降低一个对象的复杂程度和耦合度,使其能够更具有通用性而将其中的一些处理至于委托对象中的编码方式。就是指定代理协议,将一些“事件”“委托给”遵循了协议代理的别的类进行处理;

三、观察者模式

观察着模式也可以叫做:订阅模式 或 发布模式,类似于我们现在订阅微信公众号;观察者模式的具体应用有两个:通知机制(Notification)和 KVO机制 (key-value-observing).

1、通知机制:投送者发出通知-->通知中心,然后通知中心-->一个或多个接受者,最后由接受者将解除通知的指令-->通知中心;其中,要注意的是:接收者注册的通知name必须与投送者注册的通知name相同。 

通知机制可以让我们很方便的监听某些事件的发生,并可以传递一些需要的值;

2、KVO模式。

四、MVC模式

Model ,指的是数据类型,通常用来处理业务逻辑,将数据传输给控制器。

View ,指的是视图,通过控制器传来的数据进行数据更新展示信息界面。

Controller ,即控制器,接收用户请求,根据请求更新模型,继而更新视图来响应用户请求,是控制器视图和模型的媒介,可以降低视图和数据模型的耦合度

如下图:

IOS开发过程中常用的设计模式_第1张图片

你可能感兴趣的:(IOS开发过程中常用的设计模式)