Unity 游戏框架搭建 (十三) 无需继承的单例的模板
2016-12-08 18:00
543 查看
之前的文章中介绍的 游戏框架搭建(二) 单例的模板 http://www.manew.com/thread-89635-1-1.html
和Unity游戏框架搭建(三) MonoBehaviour单例的模板http://www.manew.com/thread-89636-1-1.html有一些问题。
存在的问题:
只要继承了单例的模板就无法再继承其他的类。
虽然单例继承其他类是比较脏的设计,但是难免会遇到不得不继承的时候。没有最好的设计,只有最合适的设计。
解决方案:
首先实现单例的类从使用方式上应该不变,还是
[C#] 纯文本查看 复制代码
?
之前的单利的模板代码如下所示:
[C#] 纯文本查看 复制代码
?
按照以前的方式,如果想实现一个单例的代码应该是这样的:
[C#] 纯文本查看 复制代码
?
如果我想XXXManager继承一个BaseManager代码就变成这样了
[C#] 纯文本查看 复制代码
?
这样这个类就不是单例了,怎么办?
答案是通过C#的属性。
[C#] 纯文本查看 复制代码
?
好了,又看到陌生的东西了,QSingletonComponent是什么?
和之前的单例的模板很相似,贴上代码自己品吧...
[C#] 纯文本查看 复制代码
?
这样无法继承的问题就解决啦。
缺点是:相比于QSingleton,QSingletonComponent在使用时候多了一次函数调用,不过做中小型项目应该可以应付了。
介绍完毕,睡觉了。。。
附:我的框架地址:https://github.com/liangxiegame/QFramework
转载请注明地址:凉鞋的笔记 liangxiegame.com
和Unity游戏框架搭建(三) MonoBehaviour单例的模板http://www.manew.com/thread-89636-1-1.html有一些问题。
存在的问题:
只要继承了单例的模板就无法再继承其他的类。
虽然单例继承其他类是比较脏的设计,但是难免会遇到不得不继承的时候。没有最好的设计,只有最合适的设计。
解决方案:
首先实现单例的类从使用方式上应该不变,还是
[C#] 纯文本查看 复制代码
?
[C#] 纯文本查看 复制代码
?
12 |
[C#] 纯文本查看 复制代码
?
[C#] 纯文本查看 复制代码
?
答案是通过C#的属性。
[C#] 纯文本查看 复制代码
?
08 |
和之前的单例的模板很相似,贴上代码自己品吧...
[C#] 纯文本查看 复制代码
?
缺点是:相比于QSingleton,QSingletonComponent在使用时候多了一次函数调用,不过做中小型项目应该可以应付了。
介绍完毕,睡觉了。。。
附:我的框架地址:https://github.com/liangxiegame/QFramework
转载请注明地址:凉鞋的笔记 liangxiegame.com
相关文章推荐
- Unity 游戏框架搭建 (十三) 无需继承的单例的模板
- Unity 游戏框架搭建 (十三) 无需继承的单例的模板
- Unity 游戏框架搭建 (三) MonoBehaviour单例的模板
- Unity 游戏框架搭建 单例的模板
- Unity 游戏框架搭建 (二) 单例的模板
- Unity 游戏框架搭建 (二) 单例的模板
- Unity 游戏框架搭建 (三) MonoBehaviour单例的模板
- Unity 游戏框架搭建 MonoBehaviour单例的模板
- Unity 游戏框架搭建 (三) MonoBehaviour单例的模板
- Unity 游戏框架搭建 (三) MonoBehaviour单例的模板
- Unity 游戏框架搭建 (二) 单例的模板
- Unity 游戏框架搭建 (四) 简易有限状态机
- Unity 游戏框架搭建 (七) 减少加班利器-QApp类
- Unity 游戏框架搭建 (五) 简易消息机制
- Unity 游戏框架搭建 (八) 减少加班利器-QLog
- Unity 游戏框架搭建 (四) 简易有限状态机
- Unity 游戏框架搭建--简易有限状态机
- Unity 游戏框架搭建 (六) 关于框架的一些好文和一些思考
- Unity 游戏框架搭建 (十一) 简易AssetBundle打包工具(一)
- Unity 游戏框架搭建 (七) 减少加班利器-QApp类