美文网首页
MVC,MVP,MVVM的理解

MVC,MVP,MVVM的理解

作者: 石器时代小古董 | 来源:发表于2019-08-11 14:22 被阅读0次

    一、MVC 经典架构

    View 层接收到用户的操作交给 Controlle 层r

    Controller 完成具体的业务操作后 得到数据的 Model

    Model 将数据的结果交给 View 层做渲染

    image.png

    MVC 在 Android 中的体现
    在 Android 中 View 层对应的是 Layout,Activity 对应的是 Controller,Model 层就是那些 Bean 对象


    image.png

    2.弊端
    Controller 职责过多

    Activity 容易内存泄漏

    MVC 是单向的交互流程

    由于在Android端Layout和Activity是高度耦合的,需要把 Activity 很难复用

    三、MVP

    View 接收到用户的操作,在 MVP 中 View 是 Activity 层
    View 把用户的操作交给了 Presenter 层
    Presenter 进行业务处理(可能是自己处理,可能是交给别人)
    Presenter 处理完毕之后,将数据封装到 Model 层
    Model 将结果告诉 Presenter
    Presenter 再去告诉 View 层更新界面


    image.png

    弊端
    1.要建立很多的契约接口,可能会接口爆炸
    2.Presenter 可能职责会过多

    优点
    Presenter 是一种双向通信的方式,和View以及Model都是双向的,MVP面向接口编程 Presenter 的业务可以复用
    View 层和 Model 层是完全隔离的,分层更加明显

    image.png

    如何解耦 View 和 Presenter

    image.png

    相关文章

      网友评论

          本文标题:MVC,MVP,MVVM的理解

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