JavaScript 23種類の設計モードの7アダプタモード


概念と特徴


コンセプト:異なるオブジェクトの統合インタフェースを呼び出し、外部から提供される名前の異なるインタフェースであれば、変換にアダプタが必要です.例えば、携帯電話の充電器の変換ヘッドは、アンドロイドの携帯電話を充電したり、アップルの携帯電話を充電したりすることができます.
特徴:
  • クライアントは、アダプタを介してターゲットインタフェースを直接呼び出すことができる.
  • コンポーネント/クラス/ライブラリを多重化します.
  • ターゲットクラスとアダプタークラスをデカップリングし、インタフェースの不一致の問題を解決する.

  • 構造と実装


    エージェント・モードには、ターゲット・インタフェース、アダプタ・クラスが含まれます.ターゲットインタフェース:現在のビジネスで期待されるインタフェース.抽象クラスまたはインタフェースです.≪アダプタ・クラス|Adapter Class|emdw≫:既存のコンポーネント・ライブラリのコンポーネント・インタフェース.アダプタクラス:変換器は、構成者オブジェクトを継承または参照することによって、アダプタインタフェースをターゲットインタフェースに変換し、お客様がターゲットのフォーマットでアダプタにアクセスできるようにします.
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <script>
        ```javascript
       let obj={
            show:function () {
                console.log('  1')
            }
        };
        let obj1={
            show:function () {
                console.log('  2')
            }
        };
        //1.       show
        function map(fn) {
            fn.show();
        };
        map(obj);
        map(obj1);
        
        //2.  obj1          ,       show,  display
        obj1={
            display:function () {
                console.log('  2')
            }
        };
        //3.               
        obj1.show = obj1.display();
        //4.map          
        map(obj);
        map(obj1);
    
    
    ```

    シーンの適用

  • 新しく開発されたシステムでは、古いシステムの方法/クラス/コンポーネントが必要である.
  • サードパーティのインタフェースを使用します.インタフェース定義は社内インタフェース定義とは異なります.

  • インスタンスの適用


    しばらくありません.

    まとめ


    アダプタモードは主に変換/翻訳の役割を果たします.一方、既存のビジネスロジックに使用されるのは、以前と似ていますが、呼び出されるメソッド名が異なるか、またはいくつかの違いがあります.一方、サードパーティインタフェースを呼び出すときに、サードパーティインタフェースと内部インタフェースの約束が一致しない場合は、変換にアダプタが必要です.