MVC模型与MVVM模型的区别?

MVC模型与MVVM模型的区别

MVC模型:

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

  • M:model 模型层(模型层接受改变状态最终发送给视图层展现)
  • V:view 视图层(传递用户交互的指令给控制层)
  • C:controller 控制层(控制层实现相应的逻辑代码后返回给模型层)
    MVC模型与MVVM模型的区别?
    MVC设计模型的一般理解三者都相互联系,视图层和模型层存在直接关系,模型层的数据由视图层来体现出来,如果模型层发生改变,意味着视图层也会发生相应的变化,而三者之间的关系实际也更像,模型层与视图层是通过控制层来进行联系。

MVC模式的优缺点:

  • 优点:
    1. 高内聚低耦合
    2. 重用性高
    3. 可维护性高
    4. 有利于软件优化
    5. 部署快,生命周期成本低
  • 缺点:
    1. 增加系统结构和实现的复杂性
    2. 视图对模型数据的低效率访问,未变化数据重复访问
    3. 不适合小、中型应用程序
    4. 没有明确的定义
MVVM设计模式

MVVM是Model-View-ViewModel的简写。即模型-视图-视图模型。【模型】指的是后端传递的数据。【视图】指的是所看到的页面。【视图模型】mvvm模式的核心,它是连接view和model的桥梁。

  • M:Model 模型层
  • V:View 视图层
  • VM:ViewModel 视图模型层

MVC模型与MVVM模型的区别?
MVVM主要通过模型层的默认数据来在视图层中显示,在通过在视图层中修改数据来改变模型层中的数据,从而实现视图层中的变化。当从模型层转化为视图层时,通过后台数据的转化在视图层中显出,通过数据绑定,当从视图层转化为模型层时,由页面改变后台的数据,通过dom事件监听。两者相互实现,就是数据的双向绑定。
注意:在MVVM模式中,视图层和模型层不能直接联系,两者通过VM来进行关联,当数据发生改变,VM进行监听,然后通知视图,反之,通知数据做改变。

MVVM模式的优点:
MVVM解决了MVC中大量的DOM操作使得页面渲染性能降低,加载速度变慢,用户体验差,以及当model层发生改变时,开发者需要主动更新页面的问题。