MVC模式、MVVM模式及其区别

2023-11-06

MVC模式

图片来源于网络

MVC是应用最广泛的软件架构之一,一般MVC分为:

Model(模型),View(视图),Controller(控制器)。 这主要是基于分层的目的,让彼此的职责分开.

View一般通过Controller来和Model进行联系。

Controller是Model和View的协调者,View和Model不直接联系。基本都是单向联系

M和V指的意思和MVVM中的M和V意思一样。C即Controller指的是页面业务逻辑。MVC是单向通信。也就是View跟Model,必须通过Controller来承上启下。

MVVM模式

图片来源于网络

MVVM是Model-View-ViewModel的简写,它本质上就是MVC的改进版。V就是View也就是视图的意思,M是Model模型也就是数据,VM是ViewModel就是数据视图连接层。

在MVVM框架下视图和模型是不能直接通信的,需要通过ViewModel进行交互,它能够监听到数据的变化,然后通知视图进行自动更新,而当用户操作视图时,VM也能监听到视图的变化,然后通知数据做相应改动,这实际上就实现了数据的双向绑定。并且V和VM可以进行通信。

MVVM优点

MVVM模式和MVC模式一样,主要目的是分离视图(View)和模型(Model);

  1. 低耦合。视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的"View"上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变。
  2. 可重用性。你可以把一些视图逻辑放在一个ViewModel里面,让很多view重用这段视图逻辑。
  3. 独立开发。开发人员可以专注于业务逻辑和数据的开发(ViewModel),设计人员可以专注于页面设计,使用Expression Blend可以很容易设计界面并生成xaml代码。
  4. 可测试。界面素来是比较难于测试的,测试可以针对ViewModel来写。

MVC与MVVM的区别:

  • MVC中Controller演变成MVVM中的ViewModel

  • MVVM通过数据来显示视图层而不是节点操作

  • MVVM解决了MVC中大量的dom操作使页面渲染性能降低,加载速度变慢,影响用户体验等问题

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MVC模式、MVVM模式及其区别 的相关文章

随机推荐