Singleton Pattern 单例模式,作为创建型模式的一种,其保证了类的实例对象只有一个,并对外提供此唯一实例的访问接口。
23中设计模式 |
---|
概述
对于单例模式而言,其最核心的目的就是为了保证该类的实例对象是唯一的。为此一方面,需要将该类的构造函数设为private,另一方面,该类需要在内部完成实例的构造并对外提供访问接口。单例模式的好处显而易见,可以避免频繁创建、销毁实例所带来的性能开销;但其缺点也同样明显,此类不仅需要描述业务逻辑,同时还需要构造出该类的唯一对象并对外提供访问接口,其显然违背了单一职责原则
实现
单例模式的思想虽然简单易懂,但实现起来却可谓是花样繁多、妙不可言。这里来介绍几种常见的单例模式的实现
饿汉式
如下实现最为简单,当 SingletonDemo1 类被加载到JVM中,即会完成实例化。即不是所谓的Lazy Load 延迟加载,故通常被称之为 “饿汉式” 单例。饿汉式类加载到内存后,就实例化一个单例