单例模式的定义
单例模式的GOF的定义:确认类只有一个对象,并提供一个全局的方法来获取这个对象
单例在实现的时候需要程序设计语言的支持,只要是具有静态类属性,静态类方法和重新定义类建造者存取层级。单例不建议大量使用
,运用单例需要注意。
public class Singleton { private static Singleton _instance; public static Singleton Instance { get{ if(_instance==null) _instance=new Singleton(); return _instance; } } private Singleton(){}
}
单例使用的注意事项
游戏系统中那些类适合单例模式去实现,必须经过挑选,至少要确认的是,它只能产生一个对象且不能够被继承。
少用单例模式如何使用单一对象
让类具有计数功能来限制对象的数量,可以在构造函数中判断然后限制
设置成为类的引用,依赖性注入到需要引用的地方
分别注入或者使用类的静态成员