StrayFog开源Unity3d框架设计思路讲解(一)框架设计的思路问题

StrayFog传送门

StrayFog是经历了五年多自己对项目的理解和开发的基础上,一步步重构得来的,所以在设计过程中会有许多的经验与思路需要去总结与记录,所以从这一篇开始,我会详细讲解在开发这个框架的过程中遇到的问题,和一些解决方案,写出来也是借大家一起学习,如果有更好建议,希望大家提出,我可以进一步完善这个框架。

StrayFog整个框架分为四个部分:

StrayFogCore,StrayFogRunning,EditorStrayFog,Unity3d代码(Assembly-CSharp、Assembly-CSharp-Editor)。

那么首先来讲讲StrayFogCore的设计初衷。

在一开始想写一个这么个框架前,是一直以来被困于在旧项目维护与在旧项目基础上的新项目启动上。在没写这个框架前,由于当时自己还只是个入门三年左右的初级程序员,所以在经历过几个因为项目框架不稳定,维护困难等因素而失败的项目上,就开始在网上找一些资料来学习如果写框架这个事情。最一开始老是想写一个一劳永逸的方案,能够在Android、IOS、PC等平台上能兼容,后来在实践中发现,要想所有功能在几个平台内完美妆容是很难做到的,但是可以想办法在数据、逻辑处理上想办法去兼容,去找你想兼容平台的共同点,而不是你项目要在这几个平台上去运行的共同点,所以在经过几次实践后,才有了现在的设计思路,在整个框架的设计过程中,只考虑逻辑、数据的统一与兼容性,最细节部分的用户交互、界面显示等都同等视为一个接口实现或是一个组件的预置或是一个其他的我们只知道用途却不知道细节的一个抽象方法,虚方法等。、

所以StrayFogCore在设计初,就确定了这个库只包含最基本的逻辑、算法、扩展等,同理StrayFogRunning则只包含Unity3d项目中共用或共同的Unity3d组件、帮助类、设定等。而EditorStrayFog则是对整个StrayFog在编辑器上的整体操作。

在整个框架中EditorStrayFog是编辑器工具、管理等的运行库,一些基础算法、工具、组件等是依赖于StrayFogCore和StrayFogRunning的。所以,Unity3d代码部分,是在StrayFogCore、StrayFogRunning和EditorStrayFog的基础上去运行的。

整个框架的运行依赖顺序在vs解决方案资源管理器中是从下往上依次依赖的,如下图:

所以这里在框架设计上,我自己这边是尽可能的将框架部分与实际项目运行代码部分分开来,这样就便于开发人员去查找与使用代码,这上面这个图里,EdtorStrayFog就是一个分隔线的作用,下面部分是框架的,不可以随意改动。上面部分则是实际的项目代码是提供给整个开发组与编写代码用的。在功能上,也是EditorStrayFog下面的库是上面库的依赖项。

©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值