public class FooClient {
private Foo foo;
private final static String key = "<api-key>";
private static FooClient client = new FooClient();
private FooClient() {
foo = new Foo(key);
}
public static FooClient getFooClient() {
return client;
}
}
- 是否確定以上述方式初始化
client
。 - 我應該聲明私人Foo foo;作爲靜態的,我猜測它不是這種情況。
- 如果我必須爲不同的密鑰支持不同的單身人士,我應該修改
getFooClient(String key)
以取得密鑰並將其緩存,以便我可以返回關鍵特定的單身人士FooClients。
請停止使用單身。它讓可怕的課程測試。 http://stackoverflow.com/questions/137975/what-is-so-bad-about-singletons你並不需要它們。 – zengr
如果可以,遠離單身人士。從長遠來看,他們很可能會造成問題。 '新FooClient(關鍵)'是恕我直言的路要走。 – Matt