2012-03-16 7 views
4

外部ライブラリとクライアントコードの間にレイヤを追加する必要があります。クライアントには、基本となるライブラリとの一貫したインターフェイスがあり、最小限のコード変更でライブラリを切り替えることができます。例えばこれに最適なデザインパターンは何ですか?

public interface IConsistentInterface 
{ 
    void Foo(string bar); 
    void Bar(string foo); 
} 

内部的には、このインタフェースの具体的な実装を提供していますどのような機能を使用して、ライブラリに呼び出しされます。このようにしてライブラリを切り替えると、このインタフェースの具体的な型の内部呼び出しを変更するだけで済みます。

これは私にはアダプターパターンのように見えますが、これは問題に対する最良のアプローチですか?

ありがとうございました。

答えて

4

こちらのパターンはここにうまく収まるかもしれませんね。Gatewayしかし、あなたが言うように、Adapterパターンもうまくいくでしょう。実際、それについて考えてみると、2つのコードがどのように見えるかはほとんど違いがないようです。

コードが一貫して消費できる別のAPIに外部APIを正規化するのは間違ってはなりません。外部APIに変更が生じた場合、改ざんコードは正規化されたAPIに限定されます。ここでは、修正または損傷の制限を行うことができます。正味の効果と両方のパターンが目指すものは、コードの残りの部分に与える影響が大幅に軽減されています。

関連する問題