本文主要是介绍U3D框架搭建(二):单例化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
单例化的原理:如果为空的时候,返回一个新的类;如果已经被new的时候,返回该类。
游戏中我们经常会用到单例化,而在客户端非线程的情况下,单例化函数是十分简单的,代码如下:
public static class Singleton<T> where T : new()
{public static readonly T Inst = new T();
}
在多线程的情况下,则需要加上object是否为空的判断。
引用如下:
public static ClassName Inst => Singleton<ClassName>.Inst;
在别的类中,想要调用该函数的单例,只需要 ClassName.Inst.XXX 即可。
需要注意的是,在很多引擎中,如U3D、Laya等,如果该类继承于引擎,则需要用到上章所讲的订阅者模式,否则取到的数据为空。
这篇关于U3D框架搭建(二):单例化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!