您的位置:首页 > 移动开发 > Unity3D

[Unity3D——用代码说明一切] 小技巧:单例模式泛型基类

2016-10-27 18:16 471 查看
主要目的:提高代码复用率 提高效率

常规的单例对象写法

//UI管理器
public class MyUIManager
{
//静态唯一对象
private static MyUIManager _instance;

public static MyUIManager GetInstance()
{
if (_instance == null)
_instance = new MyUIManager();
return _instance;
}
}
//战斗管理器
public class MyFightManager
{
//静态唯一对象
private static MyFightManager _instance;

public static MyFightManager GetInstance()
{
if (_instance == null)
_instance = new MyFightManager();
return _instance;
}
}


改良的单例模式写法,添加一个泛型基类

//通过泛型基类 在基类中实现实例化单例方法
public class BaseInstance where T : new()
{
private static T _instance;

public static T GetInstance()
{
if (_instance == null)
_instance = new T();
return _instance;
}
}
//任意的单例类 只需要继承基类就可以少些一些代码了
public class MyUIManager : BaseInstance
{

}
public class MyFightManager:BaseInstance
{

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  泛型 class unity3d C# 对象