设计模式之单例模式
1. 模式定义
单例模式又称为单件模式或单态模式,属于创建者模式。它确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类又称为单例类,它提供全局访问的方法。
- [1] 图说设计模式
2. UML
类图
![](https://img.haomeiwen.com/i12062478/47e0d914c6b44ef5.png)
3. 代码描述
package com.lemon.singleton;
/**
* @author Hello
* @description 饿汉式单例模式
* @date 2020-03-08 10:57
*/
public class HungrySingleton {
private static final HungrySingleton HUNGRY_SINGLETON = new HungrySingleton();
private HungrySingleton() {}
public static HungrySingleton getInstance() {
return HUNGRY_SINGLETON;
}
}
package com.lemon.singleton;
/**
* @author Hello
* @description 懒汉式单例模式
* @date 2020-03-08 11:01
*/
public class LazySingleton {
private static LazySingleton lazySingleton;
private LazySingleton() {}
public static LazySingleton getInstance() {
if(lazySingleton == null) {
lazySingleton = new LazySingleton();
}
return lazySingleton;
}
}
4. 总结
单例模式还是很好理解的,无非是这个单例类持有自己的一个私有静态实例对象,并将无参构造方法私有话且不提供其他构造方法,然后定义一个静态获取该私有实例的公开方法,这样来保证只有这一个入口来获取该实例,保持对象实例的唯一性。
网友评论