遊戲中我們經常會用到單例化,而在客戶端非線程的情況下,單例化函數是十分簡單的,代碼如下:
public static class Singleton<T> where T : new()
{
public static readonly T Inst = new T();
}
引用如下:
public static ClassName Inst => Singleton<ClassName>.Inst;
在別的類中,想要調用該函數的單例,只需要 ClassName.Inst.XXX 即可。
需要注意的是,在很多引擎中,如U3D、Laya等,如果該類繼承於引擎,則需要用到上章所講的訂閱者模式,否則取到的數據爲空。