本文共 1048 字,大约阅读时间需要 3 分钟。
一,什么是框架?
很多人经常说框架,但不知道框架到底是什么,只是人云亦云,人家说,他不说,觉得丢份,所以为了装逼,就整天把框架挂嘴边。
框架并不是一个具体的概念,也没有具体的定义,他是抽象的,可以说每一个软件就有一种框架。
就像盖房子一样,我们要先画出建筑图,然后根据建筑图来挖地基,搭建脚手架,
在这些的基础上我们才能盖出房子的基本骨架。
也可以把框架理解为素描,在画一个物体之前,我们要量出物体的尺寸,然后画出基本轮廓。
最后在轮廓的基础上画出具体的细节。
那框架到底是什么呢!?
框架是对软件的抽象,是一个软件的骨干,能够高效,快捷的组织,使资源,代码,功能模块能够有效的整合到一起,复用起来方便,维护起来省力的代码(也并不纯粹是代码)
(注:MVC并不是什么框架,它是一种UI编程思想);
对于webGame客户端来说,一般的框架结构包括三层;
第一层
基础资源(进入游戏必须要用到的资源,或一些组件的资源);
基础模块(工具类,公共的函数,资源加载模块,位图帧模块,通信模块等);
类库(各个模块的接口管理类,比如地图管理类,人物管理类;基础接口类:比如人物模型接口,人物控制类接口,ui接口等;基础数据类:比如存储全局变量的类,存储个人信息的全局类等;一些事件等;
第二层
主程序模块(用来加载一些必须的资源和初始化要用到的所有模块的管理接口和 初始化一些必要的数据,使他们能够在需要的时候可以互相调用)
第三层
子程序模块(地图模块,对战模块,ui模块,任务模块等。这些模块必须继承或 实现第一层中模块管理类中规定的接口或抽象类);
示意图:(画的有点糙,请勿见怪)
二在项目当中具体如何写框架?
在具体项目中代码库,模块,类,资源的分包和组织方式也属于框架的范畴。
好的组织分包能让我们的框架更清晰,更容易维护,更容易扩展
比如下面的框架结构:
这个架构采用Dll加载(运行时加载)可以加快玩家进入游戏的速度
ClientAppModule里面放的是ui面板
ClientCore放的是一些核心库
JackyComponent里面放的是我平时开发的一些组件
jackyLibrary放的是我自己写的一些工具类以及引擎
MainEntery是游戏的主入口,里面的初始化游戏整个结构,包括需要的资源以及各个模块和系统的Face还有一些公用的数据类等等。
具体模块怎么写我在后面会写到的。
今天先写到这里吧,明天继续!
擎天哥QQ 296963166 欢迎加我讨论(加我注明 擎天哥);
转载地址:http://vejsi.baihongyu.com/