だから私は、現在のインスタンスを取得する方法方法はアプリケーション1とアプリケーション2とは異なりシングルトンと静的メソッドで多形性を達成するにはどうすればいいですか?
public class ApplicationConfig{
public static ApplicationConfig getCurrentInstance(){
//Something similar to this
if(instance==null){
FacesContext fc =FacesContext.getCurrentInstance();
if(fc==null)
return null;
wac = FacesContextUtils.getWebApplicationContext(fc);
}
instance =(ApplicationConfig)wac.getBean("appConfig");
}
return instance;
}
}
を持っています。一度私は春からそれを読んで、一度私は普通のシングルトンパターンを使います。
方法はありますか?どちらの設定でもいくつかの設定が共有されます。
public boolean isConfiguredForFoo() {
return getCurrentInstance().getPropertyFoo().equals("foo");
}
EDITので最終的に私は次のことを行うことがbasciallyできるようにしたい、またはそのような何か:ApplicationConfigは抽象的またはインタフェースである場合は、それを持つアプリケーション1はgetCurrentInstanceの実装
ApplicationConfig.getCurrentInstance().isApplication1();
だとそれ自身の実装でapplication2。
さらに:isConfiguredForFoo()を呼び出すと、最後にgetCurrentInstanceが呼び出されます。抽象クラスにgetCurrentInstanceの実装がなく、静的抽象メソッドを定義するのが不正であるため、この関数を呼び出すことができません。すべてのisXXXXConfigured()を一箇所にまとめ、DRY原則に従うにはどうすればいいですか?
私は、application1のapplicationConfigではjsfとspringに依存していますが、application2では依存関係はありません。これらの依存関係にアクセスする重要なgetCurrentInstance()関数を避けるだけで、Application1のApplicationConfigからほとんどの関数をどのように使用できますか?
確かに、app1とapp2からparamを渡す必要がありますか? – cleverbit
はい私はコンストラクタを渡しています。私はセッターゲッターを使うこともできる。 – Toskan
私はそれが私のものかどうかわかりませんが、私はあなたの質問を理解していません。 – toto2