## 单例模式 Singleton Pattern 保证一个类只有一个实例,并且提供了访问该实例的全局访问点。 ### ### 要点 - 单例模式因其方便的特性,在开发过程中的运用很多。 - 单例模式有两个要点,保证一个类只有一个实例,并提供访问该实例的全局访问点。 - 尽量少用单例模式。单例模式作为一个全局的变量,有很多全局的变量的弊病。它会使代码更难理解,更加耦合,并且对并行不太友好。 ### ### 使用场合 - 当在系统中某个特定的类对象实例只需要有唯一一个的时候。 - 单例模式要尽量少用,无节制的使用会带来各种弊病。 - 证实例是单一的,可以简单的使用静态类。还可以使用静态标识位,在运行时检测是不是只有一个实例被创建了。 ### ### 参考与引申 - 下文中介绍的子类沙箱模式通过对状态的分享,给实例以类的访问权限而无需让其全局可用。 - 下文中介绍的服务定位器模式不但让一个对象全局可用,还可以带来设置对象的一些灵活性。 - 单例模式的Unity版本实现: - 本节内容相关的英文原文: - 本节内容相关的中文翻译: