设计模式篇之 单例模式 Singleton
目的
单例是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点来访问这个实例。
问题
单例模式同时解决了两个问题,违反了单一职责原则:
- 确保一个类只有一个实例。为什么有人会想控制一个类有多少个实例呢?最常见的原因是控制对某些共享资源的访问——例如,数据库或文件。
它是这样工作的:想象一下,你创建了一个对象,但过了一会儿,你决定再创建一个新对象。但你不会得到一个全新的对象,而是会得到你之前已经创建的那个对象。
请注意,这种行为无法通过普通的构造函数实现,因为根据设计,构造函数调用必须始终返回一个新对象。客户端都不知道用的都是同样的对象 - 提供一个全局访问点来访问该实例。还记得那些用来存储一些重要对象的全局变量