O. *_*Joy 1 java singleton design-patterns
下面的类是否实现了单例模式?我真的很困惑.
class Customer {
static private Map costumers = new HashMap();
private Customer() {
}
public static Customer getInstance(String name) {
Customer instance = (Customer) costumers.get(name);
if (instance == null) {
instance = new Customer();
costumers.put(name, instance);
}
return instance;
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
Jon*_*eet 13
不,它没有.抛开线程安全和类型安全问题,我可以很容易地得到两个不同的实例Customer:
Customer x = Customer.getInstance("first");
Customer y = Customer.getInstance("second");
System.out.println(x == y); // false
Run Code Online (Sandbox Code Playgroud)
因此,它不是单身人士.它是一种工厂/飞重模式混合,但它肯定不是单身模式.