关于MVVM和MVC架构模式

Posted 开到荼蘼223's

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于MVVM和MVC架构模式相关的知识,希望对你有一定的参考价值。

MVVM架构模式

MVVM是一种设计思想,全称是Model-View-ViewModel,由Model、View、ViewModel三部分组成

  • Model:代表数据模型,主要指后端进行的各种业务逻辑和数据处理,对于前端来讲就是后端提供的API接口,可以在Model中定义数据修改和操作的业务逻辑
  • View: 代表视图层,负责数据模型转化成UI展现出来,即用户看到的界面
  • ViewModel:代表视图数据层,是一个同步View和Model的对象

在MVVM架构下,View和Model没直接联系,而是通过ViewModel进行交互,Model和ViewModel的交互是双向的,因此 View 数据的变化会同步到
Model 中,而 Model 数据的变化也会立即反应到 View。

ViewModel 通过双向数据绑定把 View 层和 Model 层连接了起来,而 View 和Model 之间的同步工作完全是自动的,无需人为干涉,因此开发者只需关注业务逻辑,不需要手动操作 DOM, 不需要关注数据状态的同步问题,复杂的数据状态维护完全由 MVVM 来统一管理

MVVM的意义
MVVM 的出现促进了前端与后端业务逻辑的分离,极大地提高了前端开发效率 ,MVVM用接口实现了前后端数据的交互,这样可以使前后端之间的业务逻辑没有什么关系,MVVM实现了前后端更好的分离

MVC架构模式

MVC全称Model View Controller,由Model、View、Controller(控制器)三部分组成

  • Model:指数据模型,是应用程序中用于处理应用程序数据逻辑的部分,通常模型对象负责在数据库中存取数据
  • View:是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的
  • Controller:控制层,是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据

View一般通过Controller来和Model进行联系,Controller是Model和View的协调者,View和Model不直接联系,View 传送指令到 Controller,Controller 完成业务逻辑后,要求 Model 改变状态,Model 将新的数据发送到 View,用户得到反馈。

某种意义上理解MVVM是MVC的改进版,将MVC中C(控制层)换成VM(视图数据层),MVVM实现了前后端更好的分离,前端向后台请求的数据只需要请求后台的接口即可。

以上是关于关于MVVM和MVC架构模式的主要内容,如果未能解决你的问题,请参考以下文章

关于MVVM和MVC架构模式

说说MVVM

iOS架构补完计划--浅谈架构模式(MVC/MVVM)

软件的架构模式MVCMVVM

iOS架构模式--解密 MVC,MVP,MVVM以及VIPER架构

iOS 架构模式--解密 MVC,MVP,MVVM以及VIPER架构