JavaScript 23種類の設計モードの6エージェントモード


概念と特徴


コンセプト:オブジェクトへのアクセスを制御するために、オブジェクトにエージェントサービスを提供する必要がある理由があります.このとき,エージェントオブジェクトはターゲットオブジェクトとアクセスオブジェクトとの間の媒介となる.生活の中のエージェントモデルは随所に見られる.例えば4 S店は消費者とメーカーの間の代理店である.借家のテナントも一般的に仲介者を探して、直接家主に連絡するのではありません.
特徴:
  • エージェントオブジェクトは、クライアントとターゲットオブジェクトとの間で仲介として機能し、ターゲットオブジェクトをある程度保護することができる.
  • エージェントオブジェクトは、設計モードの開閉原則に合致するターゲットオブジェクトの機能を拡張することができる.
  • エージェントの目的は、ターゲットオブジェクトとクライアントの関係をデカップリングできる専門的な仕事です.

  • 構造と実装


    エージェント・モードには、抽象トピック・クラス、リアル・トピック・クラス、エージェント・クラスが含まれます.抽象トピッククラス:抽象メソッドを宣言します.≪リアル・トピック・クラス|Real Topics Class|emdw≫:抽象トピックの具体的なメソッド、リアル・ターゲット・オブジェクトを実装します.≪プロキシ・クラス|Proxy Class|emdw≫:リアル・トピックと同じインタフェースを提供します.その内部には、リアル・トピックへの参照が含まれており、リアル・トピックにアクセス、制御、または拡張する機能があります.
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <script>
        //       
        function Specialty() {}
        Specialty.prototype.display=function () {};
    
        //       
        function WySpecialty() {}
        WySpecialty.prototype = new Specialty();
        WySpecialty.prototype.display = function () {
            console.log("  ");
        }
    
        //     
        function SgProxy() {}
        SgProxy.prototype.preRequest = function () {
            console.log("  ");
        }
        SgProxy.prototype.postRequest = function () {
            console.log("  ");
        }
        SgProxy.prototype.display = function () {
            this.preRequest();
            var instance = new WySpecialty();
            instance.display();
            this.postRequest();
        }
        
        var user = new SgProxy();
        user.display();
    </script>
    </body>
    </html>
    

    シーンの適用

  • nginxはエージェントモードであり、nginx構成はaドメイン名のアクセスをbドメイン名に指向してもよいし、この特性によってドメイン間を実現してもよい.
  • セキュリティエージェント、異なるユーザーの実際のオブジェクトへのアクセス権.

  • インスタンスの適用


    しばらくありません.

    まとめ


    エージェントモードはよく理解されています.例えば消費者は一般的にメーカーと直接接触することはなく、代理店やスーパーの形式で取引されています.このようにメーカーは品質に専念し、販売技術を無視することができます.ユーザーも安心でき、メーカーに行かずにサービス料などを出すだけで直接ディーラーから荷物を受け取ることができる場合があります.同時にディーラーはメーカーに販売するだけでなく、一連のアフターサービス、組立などを提供する.ディーラーは製品の基礎の上でいくつかの他の機能を派生することができます.