iOS中的常用的几种设计模式
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 总结一下自己在开发中经常用的一些 设计模式 (一)代理模式 应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现。 优势:解耦合 敏捷原则:开放-封闭原则 实例:tableview的 数据源delegate,通过和protocol的配合,完成委托诉求。 列表row个数delegate 自定义的delegate (二)观察者模式 应用场景:一般为model层对,controller和view进行的通知方式,不关心谁去接收,只负责发布信息。 优势:解耦合 敏捷原则:接口隔离原则,开放-封闭原则 实例:Notification通知中心,注册通知中心,任何位置可以发送消息,注册观察者的对象可以接收。 kvo,键值对改变通知的观察者,平时基本没用过。 (三)MVC模式 应用场景:是一中非常古老的 设计模式 ,通过 数据模型 ,控制器逻辑,视图展示将应用程序进行逻辑划分。 优势:使系统,层次清晰,职责分明,易于维护 敏捷原则:对扩展开放-对修改封闭 实例:model-即数据模型,view-视图展示,controller进行UI展现和数据交互的逻辑控制。 (四) 单例模式 应用场景:确保程序运行期某个类,只有一份实例,用于进行 资源共享 控制。 优势:使用简单,延时求值,易于跨模块 敏捷原则