美文网首页
MVVM模式解析

MVVM模式解析

作者: 上帝是个女孩丶 | 来源:发表于2017-06-05 15:57 被阅读24次

最新开始做一个新的项目,由于之前项目越来越大,后来有些类会变得特别臃肿。所以这次在开始之前想要研究一下其他架构。经过一番实践,抛弃了MVC,选择了MVVM。

但是不代表MVC不好,其实我个人更喜欢MVC,因为简单省事。如果你的项目没有那么大,没有那么多的业务逻辑。MVC最合适你了,不用考虑更换了。

首先,MVC和MVVM的区别,从字面上看似乎是把C变成了VM这么简单。其实不然,是把C拆分成了V和VM。不管什么模式,你放心VC肯定是存在的,只是尽量减少C的工作量,让他看起来更加轻量级,也可以称为是解耦。

假装这里有图。。。

M:Model数据层

V:视图展示

VC:只用于处理视图业务。初始化view和model,监听Model和view事件。作为桥梁传递事件。可以认为是MVVM里面的V

VM:viewModel抽离C里面的网络请求和业务逻辑,敲黑板!!业务逻辑。这里的viewModel看起来像是把View和Model绑定一块出来的。其实不然,这里面处理的是C的业务逻辑,不牵扯到任何View视图层的操作。所以尽量避免里面出现view实体。

这个时候问题来了,VM只处理业务逻辑吗?视图操作什么的逻辑呢?怎么办。

建议是少量的话还是VC里面处理,因为这样可以省很多事。如果比较多。那么咱们继续瘦身->ViewManager

ViewManager:处理视图上的操作逻辑。这个才是负责展示层的。可以把push跳转什么的也放到这里来。

优点:不多说,瘦身。

缺点:由于分离比较多。当你需要数据传递或者用户产生一些交互,跳转什么的。就需要用到协议或者block了。简单页面还好,如果页面很复杂,那么同样的,你的block量也会很大。当然,这个以后可以考虑做一个模板类,负责这些回调业务。

不管是MVVM,MVP,Viper还是别的什么模式,追求的都是高内聚,低耦合模式开发。但是实际上,这些架构都会使你的类的数量扩大好几倍。代码量也会相应增加。获得的收获就是页面逻辑看起来清晰了。耦合度没那么高了。实际运用过程中,还是需要根据你项目的大小来选择使用什么架构开发。当然,以上就是我理解的MVVM了。

相关文章

  • MVVM模式解析

    最新开始做一个新的项目,由于之前项目越来越大,后来有些类会变得特别臃肿。所以这次在开始之前想要研究一下其他架构。经...

  • MVVM模式直白解析

    MVVM模式最早是由微软提出来的,MVVM代表:Model---View---ViewModel 这里的ViewM...

  • 前端MVVM模式从理论到实战 (六)

    前端MVVM模式从理论到实战 (六) 模板解析 解析双括号v-on绑定事件v-text绑定事件v-class绑定事...

  • 初识Vue

    1. MVVM模式 Vue采用MVVM(Model-View-ViewModel)模式实现,MVVM模式由MVC演...

  • Android架构师

    MVP架构设计 MVVM架构设计 IOC框架与代理模式 泛型及其JSON解析框架 手写ButterKnife框架 ...

  • Vue快速入门

    MVVM模式 什么是MVVM模式? MVVM(Model-View-ViewModel)是一种软件架构设计模式,由...

  • vue面试问题

    1.MVVM模式和MVC模式 MVVM模式是Model-View-ViewModel的缩写。MVVM是一种设计...

  • MVVM在前端(web)使用

    前端框架vue,MVVM模式 今天咱们不谈iOS,说说web(MVVM模式)。MVVM模式在前端开发应该还是挺多的...

  • MVVM模式架构设计

    环境 AndroidStudio 2.1 MVVM模式 MVVM模式:View,ViewModel,Model,三...

  • Vue之MVVM模式和第一个Vue程序

    一、MVVM模式和第一个Vue程序 目录:MVVM模式、第一个Vue程序 1.MVVM模式 1)什么是MVVM?M...

网友评论

      本文标题:MVVM模式解析

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