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

如下图:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,392评论 30 472
  • ios开发学习中,经常弄不清楚ios的开发模式,今天我们就来进行简单的总结和探讨~(一)代理模式应用场景:当一个类...
    贝勒老爷阅读 5,101评论 1 8
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,850评论 19 139
  • 一 iOS中都有什么设计模式? 1.代理模式 2.观察者模式 3.MVC模式 4.单例模式 5.策略模式 6.工厂...
    炸街程序猿阅读 4,496评论 0 2
  • 1.属性readwrite,readonly,assign,retain,copy,nonatomic 各是什么作...
    曾令伟阅读 4,700评论 0 10

友情链接更多精彩内容