2011-02-01 19 views
4

私が持っているOrgManagerインターフェイスを、持っているアプリを持っている 私のSomethingManagerクラスの実装を切り替えるには?

OrgManagerImpl

を内蔵する未対OrgManagerImplが行くと、我々はまだへのアクセス権を持っていないいくつかのREST APIのサードパーティ製のものに話を持っています。

ウェブフロントエンドをテストしている間に、OrgManagerを実装する模擬OrgManagerImplを作成しましたが、実際の実装ではその実装を置き換える必要があります。

しかし、今私は、いくつかの条件に応じてサーブレットのOrgManager実装を選択させたいと思っています。

また、myOrgManager.findCompany( "SomeCompanyId")を呼び出すと、myOrgManagerを使用して、可能なすべての実装を見て、会社を見つけて大きなリストを作成します。

また、myOrgManager.createCompany(会社)を実行して、他のものよりも1つの実装を優先させたいと思います。

私はUserManagerManagerオブジェクトの方に向いているようですが、これは私が知っておくべきJavaまたはオブジェクト指向設計のいくつかの点が不足している可能性が高いと思います。

代わりに誰かがパターンや戦略を提案できますか?

ありがとうございました

答えて

2

Spring DIは非常に便利です。あなたはちょうどあなたが春を使用している場合は、XML

2

を変更することにより、他の実装に切り替える

、その後、あなたの実装が設定され、注入することができます。実行時の型(実装)は簡単に変更できます。

また、Springを使用していない場合、工場があなたに与える実装を決める工場パターンを見たいと思うかもしれません。あなたの工場は、使用する実装を決めるために何らかの外部設定(例えば、設定ファイル、環境変数など)を使うことができます。

+0

+1非Spring回答 – Paul

関連する問題