美文网首页
iOS 设计模式

iOS 设计模式

作者: 咖啡豆8888 | 来源:发表于2019-02-19 16:39 被阅读3次

    架构

    软件开发的设计方案,比如类与类之间的关系,模块与模块之间的关系、客户端与服务端之间的关系
    架构名词:MVC、MVP、MVVM、VIPER、CDD
    三层架构、四层架构

    apple版本的MVC

    tableView的使用就是运用MVC得模式,view并不知道model得存在,model也不知道view的存在,中间用controller来链接两部分。

    MVC模式
    优点: view model 都重用度高
    缺点:controller的代码容易臃肿,可读性差。

    MVC-变种

    为了瘦身controller,有一种变种,就是将model跟view绑定,在view中对数据进行绑定,而不是在contrller。


    MVC-变种

    优点: controller进行了瘦身,将view内部的细节封装起来了。
    缺点:view对model依赖。

    MVP模式

    Model、View、Presenter


    MVP

    核心就是:创建一个present类,将controller参数传入,在present类中处理controller的相关逻辑(绑定数据,加载view等操作)。来达到未controller瘦身的目的。

    MVVM

    Model、ViewModel、View-Controller
    核心:创建一个View-Model类,将Controller的业务逻辑代码写入该VM类中,同时也可以达到给Contrller瘦身的目的。


    MVVM-获取数据

    双向绑定
    1.Model—->View 这种流向很简单,你请求数据之后,通过Block的回调,最终更新UI
    2.View—–>Model 反向绑定也一样,View触发事件,更新对面ViewModel里面绑定的数据源,例如登录注册的Textfield,你输入和删除的时候,你的Model字段会对应更新,当你提交的时候,读取ViewModel的字段,就是已经更新的最新数据。这是一种方式,我个人感觉如下图的另一种更容易理解,比如你选择某个cell或者点赞的时候,View事件触发,更新绑定的ViewModel字段,拥有ViewModel的控制器,用RACObserve来进行该字段开关的读取,如果监听到YES,就刷新对应的页面UI

    双向绑定

    三层架构

    分为:界面层、业务层、数据层


    三层架狗

    四层架构

    四层架构

    MVC、MVVM、MVP都是属于界面层内部的架构

    设计模式

    是一套被反复使用,代码设计经验的总结,可重用代码,让代码更加易懂、保证可靠性
    设计模式分为3大类:

    1. 创建性模式:
      对象实例化模式:用于解耦对象的实例化过程
    • 单例模式
    • 工厂模式等等
    1. 结构型模式
      把类/对象结合在一起形成一个更大的结构
    • 代理模式
    • 适配器模式
    • 组合模式
    • 装饰模式等等
    1. 行为型模式
      类和对象之间的监护,以及划分责任和算法
    • 观察者模式
    • 命令模式
    • 责任链模式等等

    相关文章

      网友评论

          本文标题:iOS 设计模式

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