2

基盤となる複数のフレームワークのいずれかを使用できるラッパー アセンブリを開発する必要があるとします。後者は、データアクセス、グラフィックス、またはその他のものです。これは、基礎となるすべてのライブラリが本質的に同じ機能を提供することを前提としていますが、何らかの理由で、異なる状況でいずれかを使用する必要がある場合があります。

呼び出し元は、ソースを変更せずに、単一の仕様にコーディングし、使用する基礎となるフレームワークを交換したいと考えるでしょう。

C# と .NET の言語とフレームワークの機能のうち、ラッパー クラス ライブラリの複数のコピーを維持するのを避けるのに最適なものは何ですか? C# インターフェイスとデリゲートは、頭に浮かぶ 2 つの機能です。

4

1 に答える 1

4

インターフェイスを使用してラッパーのアウトラインを作成します。

次に、特定の基礎となるフレームワークを使用する各ラッパーにこれらのインターフェイスを実装します。

個々のラッパーは、呼び出しコードを変更することなく、互いに簡単にスワップインおよびスワップアウトできます。

必要に応じて、構成値を使用して、実行時に特定のラッパーを動的にインスタンス化することもできます。これにより、コードを再コンパイルする必要なくラッパーを交換できます。

于 2012-12-20T18:46:46.263 に答える