11

アダプターとコンバーターの違いは何ですか? すべてのコンバーターはアダプターですか?

(デザインパターン的に)

4

1 に答える 1

20

いいえ、私はそれらを同じものとは見なしません。アダプターは、通常、あるインターフェースを別のインターフェースに適合させるものです。たとえば、アプリケーションが電子メールを送信するためのアダプタインターフェイスを作成する場合があります。1つのアダプターがSMTPとのインターフェースに関連するすべての作業を実行し、別のアダプターがExchangeとのインターフェースに関連するすべての作業を実行する場合があります。いずれかのアダプターを使用するコードは、同じ方法で使用されます(おそらく、両方が同じインターフェースを実装します)。アダプターは、あるインターフェースを別のインターフェースに適合させます。必要に応じて交換できるという考え方です。

コンバーターは、1つ以上の値を1つ以上の異なる値に変更するものです。たとえば、UnicodeテキストをASCIIテキストに変換する必要があるかもしれません。これは、別のインターフェイスを期待する他の何かがそれを使用できるようにインターフェイスを適応させるのではなく、ASCIIテキストを期待する単一のインターフェイスを使用できるように値を変換することです。

ここで、アダプターはインターフェースを適応させるために何らかの変換を行う必要があるかもしれません。しかし、常にそうとは限りません。

于 2012-07-21T00:52:29.760 に答える