MVC和MVVM

MVC

Model层:用于处理应用程序数据逻辑的部分,通常负责在数据库中存取数据

**View(视图)**处理数据显示的部分。通常视图是依据模型数据创建的

**Controller(控制器)**是处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

Controller是MVC中的数据和视图的协调者,也就是在Controller里面把Model的数据赋值给View来显示(或者是View接收用户输入的数据然后由Controller把这些数据传给Model来保存到本地或者上传到服务器)

MVC中的通讯

各部分之间的通信方式如下,所有通讯都是单向的 。

  1. View 传送指令到 Controller

  2. Controller 完成业务逻辑后,要求 Model 改变状态

  3. Model 将新的数据发送到 View,用户得到反馈

MVVM

Model 称为数据层,因为它仅仅关注数据本身,不关心任何行为

View层代表的是视图、模版,负责将数据模型转化为UI展现出来。

ViewModel

MVVM模式的核心,它是连接view和model的桥梁。它有两个方向:

  1. 将Model转化成View,即将后端传递的数据转化成所看到的页面。实现的方式是:数据绑定

  2. 将View转化成Model,即将所看到的页面转化成后端的数据。实现的方式是:DOM 事件监听

相关推荐
精神病不行计算机不上班1 天前
[Java Web]Java Servlet基础
java·前端·servlet·html·mvc·web·session
码界奇点1 天前
基于Spring MVC与AngularJS的API接口管理系统设计与实现
spring·毕业设计·yapi·mvc·angular.js·源代码管理
世洋Blog1 天前
数据驱动与MVC
unity·mvc
大土豆的bug记录2 天前
鸿蒙实现自定义类似活体检测功能
数码相机·华为·harmonyos·鸿蒙
hahjee2 天前
命令行参数解析利器:gnuflag在OpenHarmony PC上的完整适配实战
开源·鸿蒙
kirk_wang2 天前
Flutter 三方库 `flutter_phone_direct_caller` 在 OpenHarmony 平台的适配实战
flutter·移动开发·跨平台·arkts·鸿蒙
hahjee2 天前
Go编写的ANSI终端颜色和样式控制库在OpenHarmony PC上的完整适配实战
开发语言·后端·鸿蒙
何中应2 天前
【面试题-8】Spring/Spring MVC/Spring Boot/Spring Cloud
java·spring boot·后端·spring·mvc·面试题
JPX-NO2 天前
使用cargo-generate自定义创建项目模板
rust·mvc
JPX-NO2 天前
Rust Rocket Web 应用项目结构详解(MVC 风格)
rust·mvc·rocket