【发布时间】:2014-01-28 18:21:19
【问题描述】:
这是我第一次写Factory 类。下面是我的工厂类,我不确定这是否是使线程安全的单例工厂类的正确方法。我将使用这个工厂返回我的客户实例吗?
public class ClientFactory {
private static ClientFactory instance = null;
private ClientFactory() {
}
public static ClientFactory getInstance() {
if (instance == null)
{
instance = new ClientFactory();
}
return instance;
}
public IClient getClient() {
return new TestClient();
}
}
这是我的 TestClient 类 -
public class TestClient implements IClient {
}
这就是我将如何使用我的工厂 -
IClient client = ClientFactory.getInstance().getClient();
【问题讨论】:
-
您的工厂只有一个实例,每次调用 getClient 时都会返回一个新的 Client 实例。有什么问题? :)
-
这是制作只返回一个实例的工厂模式的正确方法吗?我正在阅读一些我也可以用于此目的的 IDIOM..
-
@SSH 忽略我之前的回答。你的工厂是单身人士。如果这就是你所追求的,那么你就在那里。而且你的使用没问题。
-
啊..这就是我要找的..我会相应地更新我的问题..如何制作线程安全的单例工厂?还有为什么它不是线程安全的,如果您也可以向我解释一下,那将有很大帮助..
标签: java singleton factory-pattern