iOS常用设计模式

代理模式:完成委托方的任务,需要声明代理对象和指定代理,相对于block,在需要传递参数的传值时优先考虑代理。
代理是一对一的关系(1个对象只能通知1个对象发生了什么事)。
应用场景:不同类之间的传值与回调。

观察者模式(通知机制,KVO机制):观察者模式本质上是一种发布-订阅模型,用以消除具有不同行为的对象之间的耦合,通过这一模式,不同对象可以协同工作。
通知是一对多的关系(1个通知可以发送给多个通知接受对象)。
应用场景:监听设备状态,自定义键盘时监听键盘的弹出和隐藏。

单例模式:可以保证App在程序运行中,一个类只有唯一个实例。
系统中的单例:UIApplication(应用程序实例)、NSNotificationCenter(消息中心)、NSFileManager(文件管理)、NSUserDefaults(应用程序设置)、NSURLCache(请求缓存)等。
应用场景:功能集中管理的模块可以封装为单例,方便外界调用。

策略模式:定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。

MVC(Model View Controller):
model:数据层
view:视图层,负责页面展示
Controller:控制视图层与数据层的关联,

MVVM(model view viewModel):
Model: 数据层,不包含逻辑
View:与用户直接交互,只需处理触发事件后的转发,和告诉他如何显示
ViewModel:跟踪view的事件,处理model层传递的数据;公开方法、属性,让view保持最新的状态

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

相关阅读更多精彩内容

  • 在软件开发中,无论是那种高级语言中总会伴随着一些最为常用的设计模式,下面针对iOS中,MVC模式、代理模式、观察者...
    Swift社区阅读 4,621评论 0 11
  • 单例模式 单例模式作为一种目标明确、结构简单、理解容易的设计模式,在软件开发中使用频率相当高,在很多应用软件和框架...
    miliPolo阅读 909评论 0 5
  • 工厂模式、观察者模式、代理模式、单例模式。 MVVM和MVC有什么区别? MVVM 的优势 低耦合:View 可以...
    adaodao3056阅读 901评论 0 0
  • 1.为什么学习设计模式 对于设计模式,我们并不陌生。一谈起设计模式,脑海里马上就想到单例模式,委托模式,观察者模式...
    coder小鹏阅读 4,113评论 13 16
  • 很多刚入门的iOS开发者经过短期训练,都可以熟练的调用API,这时候,写一个tableView,实现一个小动画,独...
    阿凡提说AI阅读 2,544评论 1 7

友情链接更多精彩内容