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

相关推荐
江城开朗的豌豆12 分钟前
解锁Vue自定义指令:这些骚操作你可能还不知道!
前端·javascript·vue.js
江城开朗的豌豆22 分钟前
Vue和iframe的悄悄话:跨窗口通信小妙招
前端·javascript·vue.js
江城开朗的豌豆29 分钟前
Vue的v-model到底是个啥?用了5年才知道还能这么玩!
前端·javascript·vue.js
饺子大魔王的男人9 小时前
【Three.js】机器人管线包模拟
javascript·机器人
希希不嘻嘻~傻希希10 小时前
CSS 字体与文本样式笔记
开发语言·前端·javascript·css·ecmascript
爷_11 小时前
Nest.js 最佳实践:异步上下文(Context)实现自动填充
前端·javascript·后端
爱上妖精的尾巴11 小时前
3-19 WPS JS宏调用工作表函数(JS 宏与工作表函数双剑合壁)学习笔记
服务器·前端·javascript·wps·js宏·jsa
草履虫建模11 小时前
Web开发全栈流程 - Spring boot +Vue 前后端分离
java·前端·vue.js·spring boot·阿里云·elementui·mybatis
—Qeyser11 小时前
让 Deepseek 写电器电费计算器(html版本)
前端·javascript·css·html·deepseek
喝拿铁写前端13 小时前
前端批量校验还能这么写?函数式校验器组合太香了!
前端·javascript·架构