游戏开发常用架构 #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.

相关推荐
万物智能3 小时前
启动链路与分区—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
后端·架构
mldong5 小时前
换了工作流引擎,前端一行代码没改
java·架构
羑悻的小杀马特6 小时前
百度ASR+BRPC+ETCD高并发高可用架构搭建,C++客户端API封装+语音识别子服务注册发现+全链路测试调优终极指南!
架构·sdk·etcd·cmake·百度智能云·brpc·语音识别子服务
九皇叔叔13 小时前
《MySQL 体系架构详解:Server 层、SQL 执行流程与 InnoDB、MyISAM、MEMORY 存储引擎》
sql·mysql·架构
怕浪猫13 小时前
FDE 最大的浪费不是写出有 bug 的代码,而是漂亮地解决了一个错误的问题
面试·架构·github
ZGIAI15 小时前
ZGI 迭代节点:批量资料的逐项处理
人工智能·架构
ZGIAI15 小时前
ZGI 知识检索:让业务回答有据可查
人工智能·架构
天远Date Lab16 小时前
零信任架构实战:基于天远双人婚姻评估查询构建自动化房产按揭联合审查网关
运维·人工智能·架构·自动化
2601_9622190117 小时前
版本平滑升级架构:万象生鲜系统 V4.3.3 迭代无停机更新技术拆解
微服务·云原生·架构
2601_9622184719 小时前
万象生鲜系统冷链物联网接入技术实现生鲜企业温控管理数字化
大数据·运维·微服务·云原生·架构