2011-12-22 58 views
1

私は2つのインターフェイスインプリメンテーションを持っており、自分のデータベースに格納した設定に基づいて、どちらか1つ(特定のインプラスクラスのオブジェクトを作成してメソッドを実行する)を使いたい。C#複数のインターフェイス実装を使用する方法

ので、

場合、= 1を設定し使用するインターフェイス実装1 エルス使用インタフェース実装2

これを行うための最善の方法は何ですか?変数値に基づいて正しいインターフェイス実装のオブジェクトを動的にインスタンス化する方法はありますか?

+0

問題の背景がさらに必要になります。あなたが間違った問題に対する解決策を見つけようとしているように見えます。 2つのインターフェースは何をしますか?彼らは何のために使われるでしょうか?なぜ2つの別々のインターフェイスを使用する必要がありますか? – thecoop

+2

@thecoopそれは私にとっては普通の状況のようです! –

答えて

3

factory design patternを使用できます。

+0

if-elseまたはswitchを隠しますが、これは初期化時に受け入れられます。その後のすべてについて、多型に頼るべきです。 – Adam

2

はい、Factory patternをご覧ください。

実際には、実際のオブジェクトの作成を別のオブジェクト(ファクトリと呼ばれます)に委譲します。オブジェクトのインスタンスを要求されると、ファクトリはデータベースの値を調べ、適切なインスタンスを作成します。

関連する問題