MVC与MVVM的理解

文章目录

  • 三层架构:
  • MVC
  • MVVM
    • MVVM的优点

MVC与MVVM都是三层架构设计模式,首先我们要知道什么是三层架构。

三层架构:

三层架构就是为了符合“高内聚,低耦合”思想,把各个功能模块划分为表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL)三层架构,各层之间采用接口相互访问,并通过对象模型的实体类(Model)作为数据传递的载体,不同的对象模型的实体类一般对应于数据库的不同表,实体类的属性与数据库表的字段名一致。 ----百度百科

MVC与MVVM的理解_第1张图片

MVC

  • Model:数据层(存数据、改数据)
  • View:视图层(页面展示和dom的操作)
  • Controller:控制视图层和数据层的关联,主要通过监听dom事件

MVVM

  • Model:数据层(存数据、改数据)
  • View:视图层(页面展示和dom的操作)
  • ViewModel:负责把Model的数据同步到View显示出来,还负责把View的修改同步回Model

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

MVVM的优点

耦合低,是真的低,view和model完全分离
维护性高,易维护,上手快
双向绑定:视图发生变化数据自动同步,数据发生变化视图也自动同步
减少了dom的操作,可以更多的关注业务逻辑

MVVM与MVC的最大区别就是:它实现了View和Model的自动同步,也就是当Model的数据改变时,我们不用再自己手动操作Dom元素,来改变View的显示,而是改变数据后该数据对应View层显示会自动改变。MVVM并不是用VM完全取代了C,ViewModel存在目的在于抽离Controller中展示的业务逻辑,而不是替代Controller,其它视图操作业务等还是应该放在Controller中实现。

你可能感兴趣的:(mvc)