我遇到了一個代碼,其中實用程序類具有服務客戶端的靜態引用。這裏是代碼的簡化版本客戶端靜態引用的實用程序類
public class MyHelper {
//assume that prime service checks if the number is prime
private static PrimeService client;
public static void setClient(PrimeService client) {
MyHelper.client = client;
}
public static boolean isIntegerPrime(int i) {
return client.isIntegerPrime(i);
}
}
對這個類的設計有什麼想法?除了意外地將客戶端設置爲null之外,我無法想象使用靜態引用遠程服務客戶端的這種實用程序類的任何缺點。我有興趣從設計的角度瞭解這個班的正確性。
他說,以上,「*除了意外地將客戶端設置爲空,*」 – isaach1000 2013-05-07 07:01:57
這是一個很好的習慣,使所有參數最終避免這些錯誤。 – scarfridge 2013-05-07 07:02:58
更新了代碼。請注意,這是一個簡化版本,而不是實際的代碼。 – u07103 2013-05-07 07:27:34