最善の解決策が何であるかを知りたかっただけです(クラスフレームワークは一度しか存在できず、構成などを保持します)
以下を仮定します (静的):
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();
...
}
おそらく3番目の解決策は、静的+シングルトンです。
私が今知りたいのは、どちらがより良い、よりクリーンな(おそらくセクシーな)ソリューションですか、それともあなたが好むものですか?
ありがとう!