【框架类】—MVVM框架

news2024/11/16 3:36:23

一、MVVM框架有哪些

  1. Vue.js
  2. React.js
  3. Angular.js

二、对MVVM的认识

1. MVC是什么

全称 Model View Controller, 它采用模型(Model)-视图(View)-控制器(controller)的方法把业务逻辑、数据与界面显示分离

2. MVVM的定义

MVVM是一种软件架构模式,它代表了模型 --视图 --视图模型
模型:表示应用程序的数据和业务逻辑
视图:是用户界面,它与用户交互并显示数据
视图模型:充当模型和视图之间的中间层,负责管理视图所需的数据,并将用户输入转化为模型可以操作的命令
作用:
通过使用MVVM框架,我们可以实现模块化和可维护的代码。视图和模型之间的解耦使得修改和调试变得更加容易。
视图模型则充当数据绑定和命令传递的中介,提供了更好的用户体验和交互。
在这里插入图片描述

3. 举例说明

1. 假设我们正在开发一个简单待办事项列表应用程序

模型:可能表示一个待办事项对象,包含任务名称、截止日期和完成状态的属性。
视图:是用户界面,展示待办事项列表并提供添加、删除和标记完成等操作的按钮。
视图模型:则负责管理待办事项数据的获取、更新和展示

运行过程:
当用户打开应用程序时,视图模型会从模型中获取待办事项的数据,并将其传递给视图进行显示。
当用户点击添加按钮时,视图模型会创建一个新的待办事项对象,并更新模型中的数据。
视图模型还可以监听用户再视图中的输入,并将其转换为模型可以理解的命令,以更新数据。

2. KFC 生活例子

模型:厨师,负责制作食物,并食物给到服务员
视图:客人,负责点餐
视图模型:服务员,负责跟客人沟通,并打印小票,然后把小票给到厨师
在这里插入图片描述
运作过程:
视图:小美跟服务员说,我要一个香辣鸡腿堡要辣一点、一个中杯可乐、小份薯条(用户交互)
视图模型:服务员好的,并运营机器上勾选香辣鸡腿堡、可乐、薯条,并备注 汉堡要辣一点,然后打印小票(转换为可以理解的命令)给到厨师
模型:厨师拿到 清单小票,然后制作食物(业务逻辑),做好了然后给到服务员(更新数据)
视图模型:服务员让后问小美,你是要打包,还是在这里吃,小美说,在这里吃,服务员把食物装在了餐盘上递给了小美(把数据传递给视图)
视图:小美端着盘子找座位准备开始吃饭了

KFC为什么要这样分工呢?
因为通过服务员这角色,让客户和厨师分离,可以让厨师只关注制作食物,食物传递;服务员只关注客户需要什么食物,然后告知给厨师,因为分工增加了彼此之间的工作效率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/901143.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智慧工地监管一体化云平台源码 PC端、 手机端、 现场端

智慧工地管理平台是以物联网、移动互联网技术为基础,充分应用大数据、人工智能、移动通讯、云计算等信息技术,利用前端信息采通过人机交互、感知、决策、执行和反馈等,实现对工程项目內人员、车辆、安全、设备、材料等的智能化管理&#xff0…

Python 潮流周刊#16:优雅重要么?如何写出 Pythonic 的代码?

你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。标题取自其中两则分享,不代表全部内容都是该主题,特此声明。 本周刊由 Python猫 出品,精心筛选国内外的 250 信息源,为你挑选…

Linux(入门篇)

Linux(入门篇) Linux概述Linux是什么Linux的诞生Linux和Unix的渊源GNU/LinuxLinux的发行版Linux VS Windows Linux概述 Linux是什么 Linux是一个操作系统(OS) Linux的诞生 作者:李纳斯托瓦兹(git也是他开发的😂&am…

11. 实现业务功能--获取用户信息

目录 1. 实现 Controller 2. 单体测试 3. 修复返回值存在的缺陷 3.1 用户的隐私数据:密码的密文和盐不能显示 3.2 将值为 null 的字段可以进行过滤 3.3 时间的格式需要进行处理,如 yyyy-mmmm-ddd HH:mm:ss 3.4 data 属性没有返回 4. 实现前端页…

低代码平台全套源码,支持二次开发

低代码开发平台:只需要编写简单的配置文件即可构建企业级应用程序。 一、低代码PaaS平台可以在云端开发、部署、运行低代码应用程序。使用独立数据库模型,基于Kubernetes云原生技术,每个租户均可拥有一套独立的存储、数据库、代码和命名空间&…

光栅化之扫描填充三角形

重心坐标计算 重心坐标比较简单,取最大包围合再计算点是否在三角形内就行,再根据重心坐标返回的alpha,beta,gamma三个权重值计算 uv映射和depth深度缓冲值,因为是求的重心坐标,感觉效果比插值的要好一点。 求重心坐标 barycentr…

Qt 编译使用Bit7z库接口调用7z.dll、7-Zip.dll解压压缩常用Zip、ISO9660、Wim、Esd、7z等格式文件(一)

bit7z一个c静态库,为7-zip共享库提供了一个干净简单的接口 使用CMAKE重新编译github上的bit7z库,用来解压/预览iso9660,WIm,Zip,Rar等常用的压缩文件格式。z-zip库支持大多数压缩文件格式 导读 编译bit7z(C版本)使用mscv 2017编译…

C# 把dll打包到exe文件,真的可以 。文件批量转了ANSI编码

在 C# 中,将 DLL 文件打包到 EXE 文件中可以使用 ILRepack 工具。ILRepack 是一个开源的工具,可以合并多个 DLL 文件并将它们嵌入到一个 EXE 文件中,从而实现将 DLL 打包到 EXE 的功能。 以下是使用 ILRepack 工具打包 DLL 到 EXE 的步骤&…

CSDN今日热榜词云图

文章目录 C云原生人工智能和Python前沿技术软件工程后端javajavascriptphp区块链大数据移动开发嵌入式开发工具数据结构与算法微软技术测试游戏网络运维 C C果然还是应试语言,真题的占比竟然这么大。C之所以没出现,很有可能是在做词云的时候把加号当作非…

多人联机对战游戏赛道,你准备好了吗?

用户日益增长的精神需求和社交娱乐需要,让联机对战的需求与日剧增。 硬件和网络技术的高速发展,也使得联机游戏的体验越来越好。 可以看到,越来越多的联机对战游戏登上游戏榜单。 联机对战已逐渐成为主流,无论在哪个游戏榜单&…

二,MySQL数据库主从复制的介绍及搭建(收藏)

一,介绍概述 主从复制是指将主数据库的 DDL 和 DML 操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。 DDL:数据定义语言,用…

HRS--人力资源系统(Springboot+vue)--打基础升级--(二)写个主菜单导航界面

1. 华为OD机考题 答案 2023华为OD统一考试(AB卷)题库清单-带答案(持续更新) 2023年华为OD真题机考题库大全-带答案(持续更新) 2. 面试题 一手真实java面试题:2023年各大公司java面试真题汇总--…

计算机 数进制转换;存储MB与带宽Mbps

参考:https://zhuanlan.zhihu.com/p/459817484 1、计算机 数进制转换 1)与十进制相关的转换 2)与二进制相关的转换 二进制是Binary,简写为B;八进制是Octal,简写为O;十进制是Decimal&#xff…

117页数字化转型与产业互联网发展趋势及机会分析报告PPT

导读:原文《》(获取来源见文尾),本文精选其中精华及架构部分,逻辑清晰、内容完整,为快速形成售前方案提供参考。 喜欢文章,您可以点赞评论转发本文,了解更多内容请私信:方…

Ubuntu16.04-ros-kinetic环境搭建笔记=1=

tips:搬运资料,留个记录 安装Ubuntu Ubuntu官网下载地址 安装 虚拟机安装Ubuntu 最好断网安装Ubuntu,可以节约时间 Ubuntu基础设置 Ubuntu换国内源 换成清华源 sudo apt upgradeVMwareTool安装 把这个压缩包拖到桌面,否则只读…

PyTorch翻译官网教程-TEXT CLASSIFICATION WITH THE TORCHTEXT LIBRARY

官网链接 Text classification with the torchtext library — PyTorch Tutorials 2.0.1cu117 documentation 使用torchtext库进行文本分类 在本教程中,我们将展示如何使用torchtext库来构建用于文本分类分析的数据集。 使用迭代器访问原始数据构建数据处理管道…

JAVA基础知识(四)——面向对象(上)

面向对象(上) 一、面向对象的概念1.1 何谓“面向对象”的编程思想1.2 面向过程(POP)与面向对象(OOP)1.3 面向对象的思想概述 二、类和对象2.1 面向对象的思想概述 三、对象的创建和使用3.1 设计类以及类和对象的使用3.2 类和对象 四、类的成员之一&#…

leetcode 125.验证回文串

⭐️ 题目描述 🌟 leetcode链接:https://leetcode.cn/problems/valid-palindrome/ 思路: 这道题只判断字符串中的字母与数字是否是回文。虽然小写大写字母可以互相转换,但是里面是含有数字字符的,所以先统一&#xff…

solr快速上手:聚合分组查询|嵌套分组指南(十二)

0. 引言 solr作为搜索引擎经常用于各类查询场景,我们之前讲解了solr的查询语法,而除了普通的查询语法,有时我们还需要实现聚合查询来统计一些指标,所以今天我们接着来查看solr的聚合查询语法 1. 常用聚合查询语法 以下演示我们…

虚幻官方项目《CropOut》技术解析 之 程序化岛屿生成器(IslandGenerator)

开个新坑详细分析一下虚幻官方发布的《CropOut》,文章会同步发布到我在知乎|CSDN的专栏里 文章目录 概要Create Island几何体生成部分随机种子Step 1Step 2Step 3Step 4Step 5Step 6 岛屿材质部分动态为草地设置颜色 程序设计的小技巧其它Platform Switch函数 概要 …