我只是想知道什麼是最好的解決辦法是(類框架只能出現一次,它擁有的配置等)靜態類或實例作爲參數?
讓我們假設下(靜態):
public class Framework {
private Framework() {}
private static String something;
private static Object somethingElse;
public static synchronized void init() {
something = "something";
somethingElse = new SuperFancyObject();
}
public static String getSomething() { return something; }
public static Object getSomethingElse() { return somethingElse; }
}
現在我可以使用這個類中的所有方法調用的任何地方:
public void invoke(Request request, Response response) {
...
Framework.getSomething();
...
}
其他的解決辦法是:
public class Framework {
private static String something;
private static Object somethingElse;
public Framework() {
something = "something";
somethingElse = new SuperFancyObject();
}
public String getSomething() { return something; }
public Object getSomethingElse() { return somethingElse; }
}
所以,現在,使用的是,我必須通過對象/類作爲參數:
public void invoke(Framework framework, Request request, Response response) {
...
framework.getSomething();
...
}
的第三個可能的解決辦法是靜態+單。
我現在想知道的是,哪個更好,更乾淨(也許性感)的解決方案還是你更喜歡的?
謝謝!
性感?真的嗎? – TheWhiteRabbit
檢查你的第一個電話代碼。我假設,你想調用Framework類的getSomething(),所以你不必傳遞框架參數?你什麼時候調用init()? –
對不起...複製並粘貼失敗 – Constantin