ZECS Unity脚本框架简介(2)——ECS与MVC的融合

什么的框架适合Unity开发呢?

对于我这种,干过后端、大数据、移动开发的大杂烩,对MVC自然很是熟悉了。前后端、移动端开发,接触到的大大小小的框架无一不是遵循MVC模式。包括Spring MVC、ThinkPHP、BeeGO、AngularJS等吧(插曲:Beego我的大爱,现在也一直在用)

MVC定义

MVC框架,英文:全名是Model View Controller,这里不再细述。所以首先就想到那MVC是否适合Unity开发呢?
上一篇文章已经提过,游戏开发肯定与PC软件、互联网应用、移动App的开发肯定有很大区别。想想一下星际的狗海、魔兽的团战等这些游戏场景,所以使用ECS这种实体-组件-系统的模式更适合。MVC直接拿来用肯定是不行的,MVC其核心还是在其分层的思想,Unity的这种去掉了System的ECS框架,可以认为只是一种单层结构。这样我的设计思路就出来了,重新加入System层,它也相当于MVC的控制层,新的实体和组件的层,这里的实体和组件不是指Unity的GameObject和 Component,因为其核心组件功能还是为了渲染,所以这里把其做为MVC的View显示层,当然这里为了统一,可以把Unity的其它常用的组件比如Collider、Audio,也都归入广义的View层。这样的好处就是使程序开发不再依赖或者很少依赖Unity的组件,回避了之前说的文件管理和团队间耦合的问题。甚至一些View层的工作在借助一些可视化脚本插件完全可以由策划或者美术团队来完成。

我自己写的ZECS框架只是针对下面两层的封装,后面会进行一步详细介绍。

但目前也出现了一些新的开发模式,甚至有人说MVC已经过时,已经死掉的说法。其实我觉得只能说一种模式是否合适当前的项目,模式也好、框架也好,只有你会不会用,项目适合不适合的情况,而不存在好不好的问题,说某个模式的不好,只能说明你不会使用罢了。解决问题的方法没有最好,只有更合适。

下篇内容:ZECS的设计

猜你喜欢

转载自blog.csdn.net/feibin2013/article/details/80115508
今日推荐