gpt4 book ai didi

java - 这是哪种单例?

转载 作者:行者123 更新时间:2023-12-01 06:35:19 25 4
gpt4 key购买 nike

public class ConnectionManager {

private static Map <String, ConnectionManager> managerInstances = new HashMap<String, ConnectionManager>();

private String dsKey;
private ConnectionManager(String dsKey){
this.dsKey = dsKey;
}

public static ConnectionManager getInstance(String dsKey){
ConnectionManager managerInstance = managerInstances.get(dsKey);

if (managerInstance == null) {
synchronized (ConnectionManager.class) {
managerInstance = managerInstances.get(dsKey);
if (managerInstance == null) {
managerInstance = new ConnectionManager(dsKey);
managerInstances.put(dsKey, managerInstance);
}
}
}
return managerInstance;
}
}

我最近在某个地方看到了这段代码,其中没有按照 GoF 的书籍定义使用单例模式。 Singleton 正在存储它自己的实例的Map

这能称为什么样的单例呢?或者这是 Singleton 的有效使用吗?

最佳答案

这不是单例。它的名字叫multiton pattern .

Rather than have a single instance per application, the multiton pattern instead ensures a single instance per key.

关于java - 这是哪种单例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18119217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com