美文网首页
Android技术框架之MVVM

Android技术框架之MVVM

作者: 嘿_叫我小王 | 来源:发表于2020-03-14 22:14 被阅读0次

    MVC、MVP、MVVM各自介绍及使用场景

    MVC

    --model 模型层 业务逻辑
    --view 视图层 .xml
    --controller 控制层 Activity
    MVC模式存在的问题:Activity责任不明、十分臃肿
    Activity由于其生命周期的功能,除了担任View层的部分职责(加载应用的布局、接受用户操作),还要承担Controller层的职责(业务逻辑的处理)
    随着界面的增多 & 逻辑复杂度提高,Activity类的代码量不断增加,越加臃肿

    MVP

    model模型层 业务逻辑
    view视图层 view的绘制,用户交互 Acitivity
    presenter呈现层 连接V层、M层,完成两者之间的交互。
    优点:(对比MVC模式)
    1.耦合度更低:通过Presenter实现数据和视图之间的交互,完全隔离了View层与Model层,二者互不干涉
    避免了View、Model的直接联系,又通过Presenter实现两者之间的沟通
    2.Activity代码变得更加简洁:简化了Activity的职责,仅负责UI相关操作,其余复杂的逻辑代码提取到了Presenter层中进行处理

    MVVM

    model 模型层
    view 视图层
    viewmodel View的数据模型和Presenter的合体

    为什么要使用MVVM

    MVVM配合Data Binding使用,可以实现双向的交互,使得视图和控制层之间的耦合程度进一步降低,分离更为彻底,同时减轻了Activity的压力。

    DataBinding

    MVVM的最佳使用方式是MVP+DataBinding,MVVM可以实现数据直接和View层的控件绑定,和监听事件的绑定。

    关于MVVM的具体使用,我会在后期学习之后,把demo放上来

    最后

    近些年来,Android架构模式有很多,我们比较熟知的有MVC,MVP以及MVVM,目前Android市场中使用最多的应该是MVP架构,虽然MVVM结合DataBing看似更加方便,但在一般公司中使用的还是比较少。其实模式这种东西就像我们个人习惯,觉得代码怎么放置会更方便,慢慢的就形成了一种标准化的模式,好的代码模式更容易后期维护与团队分工合作,但是其实说句心里话,刚接触这些模式的时候,感觉代码的类变多了,但是从逻辑上着实简洁了很多。建议还是稳中求实,不要为了架构而架构

    相关文章

      网友评论

          本文标题:Android技术框架之MVVM

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