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