美文网首页
iOS开发中常用的设计模式

iOS开发中常用的设计模式

作者: 帅帅的mum | 来源:发表于2021-04-12 10:16 被阅读0次

    1、代理 

    场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现。

    优势:解耦合

    敏捷原则:开放-封闭原则

    实例:tableview的 数据源delegate,通过和protocol的配合,完成委托诉求

    总结:传入对象实现对象的功能

    2、观察者

    场景:一般为model层对,controller和view进行的通知方式,不关心谁去接收,只负责发布信息。

    优势:解耦合

    敏捷原则:接口隔离原则,开放-封闭原则

    实例:Notification通知中心,注册通知中心,任何位置可以发送消息,注册观察者的对象可以接收。

    3、MVC

    场景:是一中非常古老的设计模式,通过数据模型,控制器逻辑,视图展示将应用程序进行逻辑划分。

    优势:使系统,层次清晰,职责分明,易于维护

    敏捷原则:对扩展开放-对修改封闭

    实例:model-即数据模型,view-视图展示,controller进行UI展现和数据交互的逻辑控制。

    4、单例

    场景:确保程序运行期某个类,只有一份实例,用于进行资源共享控制。

    优势:使用简单,延时求值,易于跨模块

    敏捷原则:单一职责原则

    实例:[UIApplication sharedApplication]。

    注意事项:确保使用者只能通过 getInstance方法才能获得,单例类的唯一实例。

    object c中,重写allocWithZone方法,保证即使用户用 alloc方法直接创建单例类的实例,

    返回的也只是此单例类的唯一静态变量。

    单例用static修饰实例只会分配一次内存,且定义单例需要写类方法,只有静态变量才能在类方法中使用

    5、MVVM

    model、View、viewModel、controller

    在典型的 MVC 应用里, 许多逻辑被放在 View Controller 里。它其实是一个 MVC 的增强版,并将表示逻辑从 Controller 移出放到一个新的对象里,即 View Model

    在 iOS 上使用 MVVM 的动机,就是让它能减少 View Controller 的复杂性并使得表示逻辑更易于测试


    相关文章

      网友评论

          本文标题:iOS开发中常用的设计模式

          本文链接:https://www.haomeiwen.com/subject/dlxtuhtx.html