接上文!!!!
先和大家互动一下
大家觉得架构设计包含了哪些东西?
大家可能会提起一些名词,比如框架、不同功能、工具集、软件体系结构、设计思想等。其实引擎是一种软件。我们说传统的软件设计的这个体系里面,提到架构这个词,其实它包含了很多关键词。比如说提到的大框架,那这个大框架他可能还要逐层拆,比如说他是哪个层级的框架,比如说我们做游戏的时候,大家都知道有UI的框架、有战斗的框架、有整个客户端的框架、有服务端的框架,还有偏底层的这个框架。所以其实我们有很多框架,只是说他处于的层级不一样。处于的层级不一样。
刚刚也提到的有这个工具集,它需要提供一系列的这种工具,有可能是偏向于物理的工具,也有可能是偏向动画的工具,然后呢他还有技术选型因为我们说某一种功能或者要满足某一种技术需求,它其实有很多种实践方式。但是,我们可能需要去考虑下技术的选型。
所以我们说架构设计里面,我们的整个思考的过程,首先是叫顶层设计。顶层设计什么意思呢?你是要去进行需求的分析和可扩展性的一个思考的需求的分析。为什么叫顶层?顶层这个概念指的是离它的使用者非常近,也就是离你的这款软件的用户非常接近。离用户越接近,你就越能够知道用户是怎么使用它的,而随之而来的就是用户需要什么东西,而最后就变成了个需求分析。所以顶层设计的起源起点是从需求分析开始,以及可扩展性的一个思考。
把需求排列组合并且归类之后,我们就要通过抽象的方式,把刚刚我们的这个需求分析,通过智能功能这种方式把它归类,有可能是个思维导图。再往下呢,你需要去把这些东西再进行排列,一种以架构图的方式去排列。比如说架构这个排列的这个原则,叫上层不依赖下层,下层不依赖上层。比如说你的下层,你的下面的这个level 它是去提供上层,给上层做支持的。而上层是需要架构在你的下层之上的。有点像造房子,或者你可以理解成搭积木,也就是说你不去挖这个地基,就不能不能往上造东西。如果你不挖这个地基,直接往上造,哪一天这个楼就倒了,或者你就造不上去。
最后架构好之后,你就需要去一点点实现了。一般是从底层开始实现。当然最上层的,比如说编辑器,你也可以开始做,先把这个UI界面给做出来。
其实就是一个目前主流的,我们说游戏引擎架构,我们去做游戏,还要写自己的框架,而我们客户端要学的东西是什么呢?你怎么样基于某一款游戏引擎能够快速的去做出游戏,你是研究上面那块部分的东西的,而下面那块东西是你要去做一个工具给到程序员用,你就要去研究下面那块东西。比如说你如果学习引擎开发,你往往是从这个最上层开始学习,然后一点点往下。所以为什么有些公司招图形工程师,他可能更多的是要去完善这个渲染引擎这里面的东西。
我们看架构呢,我们可以从下往上看,也可以从上往下看,都可以。从上往下看呢,你可以一层层倒推。如果我需要有一个渲染引擎,我需要什么东西。而从下往上看呢,你可能思维上面会更加的清晰一点,我有了什么东西,我上面搭了什么东西,再搭什么东西,这样会更有逻辑性。但是其实真正如果这个图是没有的没有这个架构的,今天你要去设计一个架构,你的设计的方式,是从从上往下去设计的。因为越往上层越接近于真实的需求。
然后我们从下往上看,比如说第一层,最底层的就是我们前面提的这个运行平台层,而这个运行平台层它包含了三个东西,第一个是我们的硬件,然后再上我们的驱动以及对应的操作系统。在很多时候,因为商业需要,硬件和操作系统是捆绑的。、比如说微软他的XBOX上绝对不会去跑苹果的操作系统,因为他是有他的阵营的,所以XBOX上跑的是一套类似Windows的系统。所以你像如果是苹果电脑或者苹果手机的话,它是不可能跑Windows的这个系统。所以这块大家就了解一下。
扫描下方二维码,领取免费训练营!