https://blog.csdn.net/qq_41789645/article/details/109159449
简易UI框架
- UI框架核心方法
- BaseUI会记录UI的名字(枚举)和Controller用来将UI与具体操作方法解耦
- UIManger利用字典记录所有的UI组件,然后提供一些打开关闭UI的方法
- EventManager(事件系统)来实现模块与模块之间的交互,事件系统也分很多种实现方式,都是观察者设计模型的典型应用,利用一个关键字注册多个方法,然后在利用这个关键字激活调用已经住的方法。也是C#中委托的一种典型用法。广播形式、通知形式等。
- UI框架拓展方法
- ResourcesManager(资源管理器),封装一些加载Resources资源的方法,同步加载,异步加载,加载并实例化等方式的方法。
- DataHelper(数据解析器),对Xml、Json(LitJson、JsonFX)、Protobuf等数据格式序列化与反序列化插件的进一步封装,方便调用。
- Common Extension(公共拓展组件)利用泛型和拓展方法对Unity中的方法进行进一步的封装,加快开发速度。
- Singleton(单例)
- NetworkManager,负责与后台数据的下载、上传。
3. 简易UI框架的优缺点
- 容易上手使用
- 针对C#新手相对容易理解
- 只适合很小的项目
- 拓展性很差
- 逻辑会堆在MonoBehaviour的脚本下,效率降低
趟过上面这种简易UI框架的坑之后,才会意识到一个大一点的项目,或者是多人合作开发的项目,一定要有一个较为牢靠的框架做为基础,在Unity中有几种常见的框架,也是从传统的经典矿建拓展过来的。PureMVC(MVC框架),StrangeIOC(MVCS框架),uFrame(MVVM框架)。
为了对比这三种常用框架的易上手程度和开发速度、理解难度,我将用同一个案例,用三种框架都编写一次,实实在在的对比一下框架的区别之处,得出最终的结果。
PureMVC框架:
PureMVC优缺点:
- 利用中介者,代理者,命令实现解耦,使得Model、View、Controller之间耦合性降低,提升了部分代码的重用
- View界面可以实现重用
- Model数据可以实现重用
- 代码冗余量大,对于简单的功能都得创建View、Mediator、Command、Facade,Proxy,Model脚本
- 操作过程比较繁琐的流程,Mediator中的代码会显得流程较为复杂难懂,除非你很熟悉PureMVC执行原理
PureMVC特点:
- 通知的传递都要经过装箱和拆箱的操作
- 命令/通知是以观察者模式实现,命令/通知在观察者中利用反射获取方法并执行
- 没有Service(可按照MVC的构造,自行添加与网络通讯的这个模块)