【Unity(2)】unity开发的基本框架和经典的 MVC 架构模式

什么是架构?

架构是一个约定,一个规则,一个大家都懂得遵守的共识。那这是什么样的约定、什么样的规则、什么样的共识呢?

一个项目开始立项的时候,最常见的一个情况就是:几个人一个小团队,开始什么也不做,开始写代码,验证逻辑,然后 game 就开始写起来了。公司的一些的所谓的领导层一开始就把游戏定义为"我们要做的一个大作",那么这个事情本身就是一个笑话。没有任何的规划和设计,我们就妄图就写出一个所谓的杰出的作品出来是不现实的。Unity 再好用,以这个心态去做游戏,一定会写不出来好的游戏来。------刘钢《Unity 项目架构和开发管理》

看到视频中的这段话,需要建立最基本的规划,比如最常见的表现和逻辑的分离。

1 表现逻辑分离

我们大家都知道,做项目尽可能地要把表现和逻辑分离。而最常用最经典的方式就是使用 MVC。

经典的 MVC 架构模式

MVC 是在软件开发时最常用的架构模式,我想大家都应该接触过,所以 MVC 的概念在这里笔者不会浪费口舌去赘述,不了解的同学可以参阅阮一峰前辈的《谈谈MVC模式》http://www.ruanyifeng.com/blog/2007/11/mvc.html。

MVC是三个单词的首字母缩写,它们是Model(模型)、View(视图)和Controller(控制)。

这个模式认为,程序不论简单或复杂,从结构上看,都可以分成三层。

  • 1)最上面的一层,是直接面向最终用户的"视图层"(View)。它是提供给用户的操作界面,是程序的外壳。

  • 2)最底下的一层,是核心的"数据层"(Model),也就是程序需要操作的数据或信息。

  • 3)中间的一层,就是"控制层"(Controller),它负责根据用户从"视图层"输入的指令,选取"数据层"中的数据,然后对其进行相应的操作,产生最终结果。

这三层是紧密联系在一起的,但又是互相独立的,每一层内部的变化不影响其他层。每一层都对外提供接口(Interface),供上面一层调用。这样一来,软件就可以实现模块化,修改外观或者变更数据都不用修改其他层,大大方便了维护和升级。

我用Windows的计算器小程序为例,解释一下MVC模式,虽然它不一定使用这个模式编写。

在这个计算器程序中,外部的那些按钮和最上面的显示条,就是"视图层",那些需要运算的数字就是"数据层",执行加减乘除的那些内部运算步骤就是"控制层"。每一层执行不同的功能,整个程序的结构非常清楚。

如果我们扩大一点想象,就会发现,很多程序本质上都是这种模式:对外提供一组触发器(本例中是按钮),然后执行一些内部操作,最后返回结果。因此,MVC模式的应用是非常广泛的。

参考

https://www.cnblogs.com/liangxiegame/p/12557515.html

http://www.ruanyifeng.com/blog/2007/11/mvc.html

相关推荐
_codemonster5 小时前
30分钟快速搭建 Spring Cloud Alibaba 微服务实战(一)
微服务·架构·毕业设计·课程设计
Cosolar5 小时前
从零写一个 Attention Is All You Need
人工智能·面试·架构
qcx237 小时前
【系统学AI】09 Multi-Agent架构(2026版):从学术理论到工业级实践
java·人工智能·架构·multi-agent·claude agent
wb043072017 小时前
厨房质检员——从阿明的“祖传配方“到标准化质检,看测试金字塔的落地
架构·log4j
Dongwoo Jeong8 小时前
微服务架构(MSA)是如何诞生的?
微服务·云原生·架构
张忠琳9 小时前
【kubernetes v1.21】(kubelet 1)Kubelet 核心架构与启动流程
云原生·架构·kubernetes·kubelet
用户987409238879 小时前
超算中心 高性能计算 htc命令module use的作用
架构
WarPigs9 小时前
游戏签到系统
unity
AI科技星9 小时前
基于**v=c(空间光速螺旋运动)唯一第一性原理**重新完整求导证明
人工智能·线性代数·算法·机器学习·架构·概率论·学习方法
__log9 小时前
如何优雅地“借鉴”任何网站的设计系统
人工智能·架构·知识图谱