我只是想知道最好的解决方案是什么(类框架只能存在一次,它包含配置等)
让我们假设以下(静态):
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();
...
}
第三种解决方案可能是静态+单例。
我现在想知道的是,哪个是更好、更干净(也许是性感)的解决方案,或者你更喜欢哪个?
谢谢!