提到游戏的UI开发,几乎没人没听说过MVC吧?MVC最早是为软件架构设计的框架,这里不打算讲MVC的演变过程,需要的了解的可以参考大神的文章,传送门:
你对MVC、MVP、MVVM 三种组合模式分别有什么样的理解?
高赞回答。
另外,我也喜欢第二个回答的总结:
M-V- X 本质都是一样的 重点还是在于M-V 的桥梁,要靠X来牵线。
在相同技术栈下 能够实现的各种 X都可以是大同小异的。
在不同技术栈下 相同的X可能实现都大相径庭,仅有非常抽象的流程类似。
所以UI部分的开篇我们不讲代码,只讲概念。
1.1 M-V-C
看下百度百科的定义:
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
架构的兴起有它的时代和背景意义,那么随着时代的变迁,工具和大环境甚至是目标设备的变化,框架都是需要逐步调整的。
MVC出现的初衷是源自于与操作系统和软件的日益复杂化。MFC或者VB那种界面和逻辑揉在在一起的模式已经远远不能满足于大型复杂的功能系统开发。
然后随着软件行业的日益成熟,团队的职能分工也越来越明确,那么如何揉在一起的任务拆离出来,让不同职能的人专注于自己的领域和设计也是一个重要的方面。
基于很多的原因,软件UI框架开始分化为M-V-C的模式。M层专注于数据处理, V层专注实现的专注于表现,柱状图ÿ