游戏开发常用架构 #MVP,MVC

最近笔者在工作当中学习到了一些功能架构,在自我学习的过程中也分享给大家。如有错误之处,还请大家斧正。

想象一下你正在开一家餐厅,有三个主角分别是,客人,服务员,厨师。

他们的职责分别是,User-UI-Logic

MVC Model-View-Controller

Model:数据,业务规则,存储状态。

View:界面展示,显示数据,用户交互。

Controller:接收用户输入,更新 Model 和 View。

流程:User 点击 -> Controller -> 更新 Model -> 通知View -> View 直接读取 Model。

缺点:由于View可以读取Model,导致高耦合,如果系统复杂,维护困难。

MVP Model-View-Presenter

Model:数据,业务规则,存储状态。

View:界面展示,显示数据,用户交互。

Presenter:接收用户输入,更新 Model 和 View。

4.通过事件通信,减少直接调用。

流程:用户点击-> Presenter -> 更新 Model -> 通知View -> presenter 控制更新View

MVC和MVP的区别

主要是View层的区别,在MVC里面View会耦合Model,但是在MVP里面View只能通过Presenter知道Model.

相关推荐
JPower_mr.g6 分钟前
SmartCall 音色管理技术解析:基于 SPI 的可扩展音色注册架构
java·开发语言·人工智能·ai·架构·开源
我不是阵雨10 分钟前
微服务幂等性深度解剖
微服务·云原生·架构
淡海水12 分钟前
02-04-原理篇-GC Roots与对象图遍历
算法·unity·c#·图·gc·遍历·roots
七夜zippoe19 分钟前
Agent 中间件架构:钩子链、插件注册与横切治理
ai·中间件·架构·agent·钩子链
欣欣之王来了25 分钟前
开发环境准备:Node.js、npm、VS Code安装配置
前端·学习·架构·项目·vue3教程
Dawson Zhu27 分钟前
《Agentic Design Patterns》第 11 章导读:目标设定与监控(Goal Setting and Monitoring)
人工智能·语言模型·架构·aigc·agi
Wang's Blog1 小时前
Java 项目部署之 Docker工具快速入门: Docker 架构拆解:镜像、容器、守护进程与 Registry
java·docker·架构
FYKJ_20101 小时前
django个性化新闻推荐35173-计算机课程设计、毕业设计
java·spring boot·后端·python·架构·django·课程设计
RoboWizard1 小时前
搭配W790芯片组的超频服务器内存(架构选型)FAQ合集
运维·服务器·架构
萧瑟余晖2 小时前
Spring MVC拦截器异常处理与跨域详解
java·spring·mvc