旨在确保一个类只有一个实例,并提供一个全局访问点以访问该实例。
这意味着在整个程序运行期间,无论何时何地使用单例,都只会得到同一个实例。
单例分为懒汉式和饿汉式两种模式
懒汉式单例模式是在首次使用时创建实例。这种方式可以避免在程序启动时就创建实例,从而节省资源。
饿汉式单例模式是在程序启动时就创建实例,无论是否使用。这样可以确保实例在任何时候都是可用的。
优点:
单例模式确保只有一个实例,这对于某些情况下确保全局唯一性非常有用。
缺点:
使用单例模式可能会隐藏依赖关系,使得代码难以测试和维护。
单例模式通常会让一个类兼具创建和管理实例的职责,可能违反了单一职责原则。