mvc,mvp,mvvm 的区别
MVC、MVP、MVVM 这三者都是框架模式,它们设计的目标都是为了解决Model和View的耦合问题。
1、MVC模式出现较早主要应用在后端,如Spring MVC、ASP.NET MVC等,在前端领域的早期也有应用,如 Backbone.js。
它的优点是分层清晰,缺点是数据流混乱,灵活性带来的维护性问题。
M(Model)模型:专门用来封装和处理数据的。(domain,service,mapper)
V(View)视图:展示数据的。(html,ftl,jsp...)
C(Controller)控制器:专门来处理请求的,1.接受参数,2.调用service层代码。3.控制页面的跳转。(Controller,Servlet)
2、MVP模式在是MVC的进化形式,Presenter作为中间层负责MV通信,解决了两者耦合问题,但P层过于臃肿会导致维护问题。
M(Model)模型:专门用来封装和处理数据的。(domain,service,mapper)
V(View)视图:展示数据的。(html,ftl,jsp...)
P(Presenter)中间层:负责MV之间的通信。
3、MVVM模式在前端领域有广泛应用,它不仅解决MV耦合问题,还同时解决了维护两者映射关系的大量繁杂代码和DOM操作代码,在提高开发效率、可读性同时还保持了优越的性能表现。
M(Model)模型:专门用来准备数据的
V(View)视图:展示页面
V(ViewModel)视图:视图和模型(视图和数据的转换)
MVVM模式做到了数据的双向绑定。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!