写在前面的话
这个系列的博客,是博主准备用来记录总结unity开发手游要用到的最基本的公共模块,也可以说是程序框架。当然,我只会在这里给出最基本的框架版本,希望能帮助自己理清思绪,向主程靠近。
因为每一个模块其实都可以深挖很多东西,所以我只是抛砖引玉。以后如果有时间,我可能会回头把每一个模块再优化扩展一下。
而且,博主一直认为,学习一项技术最直接简单的方法就是阅读别人的代码,而不是看别人的解释,所以我不会对我的代码做过多的解释。
当然,必要的注释还是会有的。
如果通过对这个系列的阅读,能让你对自己的学习路线有那么一些些帮助,那当然也是极好的。当然,如果在阅读过程中有什么疑问,也可以在评论区提出讨论,我在休息日有时间会统一回复。
以上这段话只在这里阐述一次,后面的系列就都是直接开干了。
单例基类模块
关于单例是做什么的我就不赘述了,都已经是准备开肝程序框架的人了,相信都有自己的理解了。
上代码:
/// <summary>
/// 单例基类,继承此类后私有无参构造即可
/// </summary>
public class SingleTon<T> where T : class
{
private static T instance;
public static T Instance
{
get
{
if (instance == null)
{
instance = (T)Activator.CreateInstance(typeof(T), true);
}
return instance;
}
}
}
就是这么简单,就是这么朴实,同时也就是这么强大。可能会跟你在其他地方看到的单例基类有些不一样。为什么要用Activator呢?而不是直接new T()?
因为这样可以将你需要使用单例的类的构造函数私有化,构造函数私有化会怎么样?没有办法通过new关键字创建对象,而只能通过instance访问我们给他的单例对象,从而一定程度的保证了这个对象一定是单例。(之所以说一定程度,是因为别人还是可以通过反射等手段整个对象出来),当然你也可以不这么写,直接在这个脚本里用new的方式创建单例,这就看你自己了。
这篇博客就这样。下篇我将结合这个单例基类,归置一下对象池模块。
Unity程序框架总结归置系列(2)——对象池