ホームページ > 記事 > ウェブフロントエンド > js デザイン パターン: アダプター パターンとは何ですか? JSアダプターパターンの紹介
この記事では、JS デザイン パターンに関するコンテンツをお届けします: アダプター パターンとは何ですか? js アダプター モードの紹介は、参考にしていただければ幸いです。
定義: クラスのインターフェースを顧客が望む別のインターフェースに変換します。アダプター パターンを使用すると、インターフェースに互換性がないために連携できないクラスを連携させることができます。
主な解決策: 主にソフトウェア システムで解決され、多くの場合、いくつかの「既存のオブジェクト」を新しい環境に配置する必要があり、新しい環境で必要なインターフェイスは既存のオブジェクトでは満たされません。
いつ使用するか: 1. システムは既存のクラスを使用する必要がありますが、このタイプのインターフェイスはシステムのニーズを満たしません。 2. 将来導入される可能性のあるクラスなど、相互にあまり関係のないいくつかのクラスを操作するために再利用できるクラスを作成したい。これらのソース クラスには、必ずしも一貫したインターフェイスがあるとは限りません。 3. インターフェイス変換を通じてクラスを別のクラスに挿入します。 (たとえば、トラと鳥にはフライング タイガーが追加されました。エンティティを追加する必要がなく、アダプターを追加してタイガー オブジェクトを含めてフライング インターフェイスを実装します。)
解決方法: 継承または依存関係 (推奨)。
キーコード: アダプターは、必要なターゲットインターフェイスを実現するために既存のオブジェクトを継承または依存します。
jsアダプターモードの適用例: 1. アメリカの電化製品は110Vですが、中国は220Vです。110Vを220Vに変換するにはアダプターが必要です。 2. JAVA JDK 1.1 は Enumeration インターフェイスを提供し、1.2 は Iterator インターフェイスを提供します。1.2 JDK を使用する場合は、以前のシステムの Enumeration インターフェイスを Iterator インターフェイスに変換する必要があります。この場合、アダプター モードが必要です。 。 3. LINUX 上で WINDOWS プログラムを実行します。 4.JAVAのjdbc。
js アダプター パターンの利点: 1. 無関係な 2 つのクラスを一緒に実行できます。 2. クラスの再利用が改善されました。 3. クラスの透明性が向上しました。 4. 優れた柔軟性。
js アダプター モードの欠点: アダプターを過度に使用すると、システムが非常に乱雑になり、全体を把握するのが困難になります。たとえば、A インターフェイスが呼び出されていることは明らかですが、実際には B インターフェイスの実装に内部的に適合しています。これがシステム内で頻繁に発生すると、それは災害に相当します。したがって、必要がなければアダプタを使用せずに直接システムを再構築することも可能です。
js アダプター パターンの適用シナリオ: 正常に実行されているシステムのインターフェイスを変更する動機がある場合は、アダプター パターンの使用を検討する必要があります。
注: アダプターは詳細設計中に追加されるのではなく、サービス中のプロジェクトの問題を解決するために追加されます。
たとえば、古いインターフェースを新しいインターフェースに適応させる必要があります
// 老接口 const oldCity = (function() { return [ { name: 'hangzhou', id: 11, }, { name: 'jinhua', id: 12 } ] }()) // 新接口希望是下面形式 // { // hangzhou: 11, // jinhua: 12 // } // 这时候就可采用适配者模式 const adaptor = function(oldCity) { const obj = {}; for (let city of oldCity) { obj[city.name] = city.id } return obj }; console.log(adaptor(oldCity));
関連する推奨事項:
js デザイン パターン: メディエーター パターンとは何ですか? JS メディエーター パターンの紹介
js デザイン パターン: 状態パターンとは何ですか? JSステータスモードの紹介
以上がjs デザイン パターン: アダプター パターンとは何ですか? JSアダプターパターンの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。