From : www.LintCode.com
描述
单例是最为最常见的设计模式之一。对于任何时刻,如果某个类只存在且最多存在一个具体的实例,那么我们称这种设计模式为单例。例如,对于 class Mouse (不是动物的mouse哦),我们应将其设计为 singleton 模式。
你的任务是设计一个 getInstance 方法,对于给定的类,每次调用 getInstance 时,都可得到同一个实例。
样例
在 Java 中:
A a = A.getInstance();
A b = A.getInstance();
a 应等于 b.
解决方案一
最简单的方式,在类加载时就创建一个静态私有的实例,之后不再创建。
在任何时候都只能返回这个唯一的实例。
以此来保证实例的唯一性,这种方法是线程安全的。
代码实现(JAVA)
class Solution {
/**
* @return: The same instance of this class every time
*/
//在加载本类时就创建一个唯一的实例
private static Solution sl = new Solution();
//向外部提供唯一的实例
public static Solution getInstance() {
// write your code here
return sl;
}
}