《浅谈mvvm》

117 阅读1分钟

mvvm是什么

mvvm (Model-view-viewmodel)是一种软件架构模式。是由m-v-vm组成,它本质上就是MVC 的改进版。

mvvm是做什么的

MVVM 就是将其中的View 的状态和行为抽象化,其中ViewModel将视图 UI 和业务逻辑分开,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。

mvvm工作原理

MVVM采用双向数据绑定, 在前端页面中,把Model用纯JavaScript对象表示,View负责显示,两者做到了最大限度的分离。 把Model和View关联起来的就是ViewModel。ViewModel负责把Model的数据同步到View显示出来,还负责把View的修改同步回Model。。

MVVM核心思想,是关注model的变化,让MVVM框架利用自己的机制自动更新DOM,也就是所谓的数据-视图分离,数据不会影响视图。

优点

  • Controller简洁清晰

ViewModel分离出来大部分的Controller代码,更加清晰和容易维护。

  • 方便测试

大部分Bug来自于逻辑处理,由于ViewModel把逻辑分离出来,可对ViewModel构造单元测试。

  • 开发解耦

1)一位开发者负责逻辑实现,另一位开发者负责UI实现

2)敏捷开发中,并非等后端借口提供后再开发,提供前可完成Controller和View的开发工作。

缺点

1、代码量比MVC多。

2、需对每个Controller实现绑定,这是分离不可避免的工作量。

参考