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, 不需要关注数据状态的同步问题,复杂的数据状态维

相关推荐
Always_Passion1 小时前
FE视角下的Referrer全面解析
javascript·面试
apollo_qwe1 小时前
深入解析Vue的mixins与hooks:复用逻辑的两种核心方式
vue.js
七牛云行业应用1 小时前
大模型接入踩坑录:被 Unexpected end of JSON 折磨三天,我重写了SSE流解析
javascript·人工智能·代码规范
_AaronWong2 小时前
Vue3+Element Plus 通用表格组件封装与使用实践
前端·javascript·vue.js
代码煮茶2 小时前
JS 异步编程实战 | 从回调地狱到 Promise/Async/Await(附代码 + 面试题)
javascript·面试
全栈老石2 小时前
手写一个无限画布 #3:如何在Canvas 层上建立事件体系
前端·javascript·canvas
csdn飘逸飘逸2 小时前
Autojs基础-device(设备)
javascript
csdn飘逸飘逸2 小时前
Autojs基础-文件系统(files)
javascript
wuhen_n2 小时前
patch算法:新旧节点的比对与更新
前端·javascript·vue.js
十里八乡有名的后俊生2 小时前
深度解析:JavaScript中的import方式 - 静态导入、动态导入与CSS处理机制
前端·javascript·面试