41 对MVC,MVP,MVVM的理解

对MVC,MVP,MVVM的理解
三者都是项目的架构模式(不是类的设计模式),即:一个项目的结构,如何分层,不同层负责不同的职责。 1、MVC:
MVC的出现是用在后端(全栈时代)
M:model,模型:
主要完成业务功能,在数据库相关的项目中,数据库的增删改查属于模型(重点)。(nodeJS中的db文件夹),没 有页面,是纯粹的逻辑
V:view,视图: 主要负责数据的显示(HTML+CSS,动态网页(jsp,含有html的php文件))页面的展示和用户的交互。 C:controller,控制器: 主要负责每个业务的核心流程,在项目中体现在路由以及中间件上(nodeJS中的routes文件夹)
2、MVP MVP是把MVC中的C改成了P。主要限制了M和V之间不能直接通信(互相调用,传递数据)。M和V之间的通信
必须经过P。
P:Presenter,表示器 主要用于连接M层、V层,完成Model层与View层的交互,还可以进行业务逻辑的处理。
3、MVVM: MVVM是把MVP中P改成了VM。主要体现的是M和V之间的双向绑定。View的变动可以同步响应在Model,反之
亦然。Vue就是一个MVVM的框架。准确来说,使用Vue框架完成项目时,使用的是MVVM模式。 VM:ViewModel
 
 主要完成M和V的数据通信,并且是双向绑定。而 View 和 Model 之间的同步工作完全是自动的,无需人为干 涉,因此开发者只需关注业务逻辑,不需要手动操作 DOM, 不需要关注数据状态的同步问题,复杂的数据状态维

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

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

相关文章

C语言真题20套

第一套 一.选择题 1.下列正确的标识符是(C ). A、ab B、6a C、_do D、%y 2.执行以下程序段后,输出结果和a的值是(B)。 int a10; printf(“%d”,a); A、11 和 10 B、10 和 11 C、11 和 11 D、10 和 10 3.以下不正确的if语句形式是&#xf…

OpenVINO安装教程 Docker版

从 Docker 映像安装IntelDistribution OpenVINO™ 工具套件 本指南介绍了如何使用预构建的 Docker 镜像/手动创建镜像来安装 OpenVINO™ Runtime。 Docker Base 映像支持的主机操作系统: Linux操作系统 Windows (WSL2) macOS(仅限 CPU exectuion) 您可以使用预…

机器学习作业3____决策树(CART算法)

目录 一、简介 二、具体步骤 样例: 三、代码 四、结果 五、问题与解决 一、简介 CART(Classification and Regression Trees)是一种常用的决策树算法,可用于分类和回归任务。这个算法由Breiman等人于1984年提出,它…

如何让Ubuntu上的MySQL开发更便捷

前言 作为一款开源的数据库开发与数据库管理协同工具,(OceanBase Developer Center,简称ODC),针对MySQL数据源,已提供了涵盖SQL开发、变更风险管控、数据安全合规等多个方面的功能,从而为MySQL…

解决生产环境突然报错“Kibana server is not ready yet‘’

问题描述: 在生产环境上用docker-compose部署好ElasticSearch 和Kibana后(ElasticSearch基础用法-CSDN博客),Kibana上进行数据的增、删、改、查很是方便,但突然有一天在浏览器上打开kibana地址,提示‘Kiba…

新媒体运营-----短视频运营-----PR视频剪辑----视频调色

新媒体运营-----短视频运营-----PR视频剪辑-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/138079659 文章目录 1. Lumetri调色,明暗对比度2. Lumetri调色,创意与矢量示波器2.1 创意2.2 矢量示波器 3. L…

英文单词收集

solubility:【化】溶(解)度;(可)溶性;可解释性 a rewarding playground:值得做的;有益的;报酬高的 With the advent of:随着…的出现;随着某物的出现;随着…的到来 optical tweezers:光镊;光学镊…

视频美颜SDK与主播美颜工具的技术原理与应用场景分析

在直播视频领域中,视频美颜SDK和主播美颜工具发挥着至关重要的作用。本文将探讨这些工具的技术原理及其在不同应用场景中的应用。 一、视频美颜SDK的技术原理 1.1 图像处理技术 视频美颜SDK的核心技术之一是图像处理技术。根据用户设定的美颜参数进行相应的调整。…

Meta Llama 3 性能提升与推理服务部署

利用 NVIDIA TensorRT-LLM 和 NVIDIA Triton 推理服务器提升 Meta Llama 3 性能 我们很高兴地宣布 NVIDIA TensorRT-LLM 支持 Meta Llama 3 系列模型,从而加速和优化您的 LLM 推理性能。 您可以通过浏览器用户界面立即试用 Llama 3 8B 和 Llama 3 70B(该…

SpringBoot 快速开始 Dubbo RPC

文章目录 SpringBoot 快速开始 Dubbo RPC下载 Nacos项目启动项目的创建创建主项目接口定义服务的创建Dubbo 服务提供者的创建服务的消费者创建 添加依赖给 Provider、Consumer 添加依赖 开始写代码定义接口在 Provider 中实现在 Consumer 里面使用创建启动类 注册中心配置启动 …

YOKOGAWA横河手操器维修hart通讯器YHC5150X-01

横河手操器设置注意事项:内藏指示计显示选择与单位设置 有如下 5 种显示模式及单位设置百分比显示、用户设置显示、用户设置和百分比交替显示、输入压力显示、输入压力和百分比交替显示。即应用在当没有输入时操作要求输出为20mA引压方向设置右/左侧高压&#xff0c…

Docker容器:数据管理与镜像的创建(主要基于Dockerfile)

目录 一、Docker 数据管理 1、数据卷(Data Volumes) 2、数据卷容器(DataVolumes Containers) 二、容器互联(使用centos镜像) 三、Docker 镜像的创建 1、基于现有镜像创建 2、基于本地模板创建 3、基…

如何调整 YOLOv3 的 NMS 参数以优化检测性能?

调整YOLOv3中的非极大值抑制(Non-Maximum Suppression, NMS)参数是优化检测性能的重要步骤。以下是一些调整NMS参数以优化YOLOv3检测性能的方法: 1. NMS阈值(nms_thresh):这是决定何时抑制重叠框的关键参数…

图形制作

1 问题 如何利用python使程序有更丰富的外观。 2 方法 利用需要用到的绘图库turtle,先定义一个清屏的函数,在定义画线的函数,确定点的位置与线的颜色。 代码清单 1 from turtle import *def curvemove(): #这个函数是为了绘制形状上方的曲线 …

QT Windows 实现调用Windows API获取ARP 表

简介 使用ping方式获取网络可访问或者存在的设备发现部分会无法ping通但实际网络上存在此设备, 但使用arp -a却可以显示出来, 所以现在使用windows API的方式获取arp 表。 实现 参考Windows提供的示例转化成Qt Qt .pro LIBS -liphlpapiLIBS -lws2_32…

MongoDB的基础使用

1. 数据集操作 进入MongoDB控制台: # 展示数据库 show dbs# 创建并使用数据库 use 数据库名 如:use articledb# 删除数据库 db.dropDatabase()注: 数据库命名规则:数据库名可以是满足以下条件的任意UTF-8字符串。 不能是空字符串…

入侵渗透 抓取内网windows登陆密码及查看密文相关问题

1. windows登录的明文密码,存储过程是怎么样的? 密文存在哪个文件下?该文件是否可以打开,并且查看到密文? 在Windows中,用户登录的密码不会以明文形式保存,会以加密形式存储。其默认使用NTLM或K…

R-Tree: 原理及实现代码

文章目录 R-Tree: 原理及实现代码1. R-Tree 原理1.1 R-Tree 概述1.2 R-Tree 结构1.3 R-Tree 插入与查询 2. R-Tree 实现代码示例(Python)结语 R-Tree: 原理及实现代码 R-Tree 是一种用于管理多维空间数据的数据结构,常用于数据库系统和地理信…

拿来即用的响应式布局方法

文章导读:AI 辅助学习前端,包含入门、进阶、高级部分前端系列内容,当前是 HTML 的部分,瑶琴会持续更新,适合零基础的朋友,已有前端工作经验的可以不看,也可以当作基础知识回顾。 响应式设计是一…

【OceanBase诊断调优】—— 如何查看 Root Service 切换完成的时间点

本文详述如何查看 Root Service 切换完成的时间点。 在主 Root Service 节点上的 rootservice.log 搜索。 grep -i "START_SERVICE: full_service !!! start to work!!" rootservice.log[2023-12-08 14:35:58.927245] INFO [RS] ob_root_service.cpp:7111 [27152]…