ホームページ > ウェブフロントエンド > jsチュートリアル > JSデザインパターンのコマンドパターンを詳しく解説

JSデザインパターンのコマンドパターンを詳しく解説

php中世界最好的语言
リリース: 2018-03-14 14:22:03
オリジナル
2448 人が閲覧しました

今回は、JSデザインパターンコマンドモードと、JSコマンドパターンを使用する際の注意点について詳しく解説します。実際の事例を紹介しますので、見ていきましょう。 。

コンセプト
コマンド モードは、クライアントをさまざまなパラメータでパラメータ化できるように、リクエストをオブジェクトにカプセル化するために使用されます。このモードは、関数呼び出しリクエストと操作を 1 つのオブジェクトにカプセル化し、これに対して 1 つの操作を実行します。オブジェクト 処理は単純に 3 つのオブジェクトに分割されます:
1. イニシエーター: 呼び出しコマンドを発行するだけで、それをどのように実行するか、誰が実行するかは不明です。
2. 受信者: さまざまなコマンドを処理するための対応するインターフェイスがあります。コマンドが何であるか、誰が発行したかは問題ではありません。
3. コマンド オブジェクト: 上で述べたように、発信者と受信者を分離しました。これには、このブリッジが送信者からの呼び出しを受け入れ、= 対応するものを呼び出します。受信機のインターフェース。

機能と注意事項
機能:
1. カプセル化、リクエスト、呼び出しを 1 つに結合します。
2. プログラムのモジュール化の柔軟性を向上します。
注意:
一貫した言い訳は必要ありません。無駄を避けるために関数を直接呼び出してください。

Instance

   // 发送者 
            var setCommond = function(button, fn) { 
                button.onClick = function() { 
                    fn() 
                } 
            }; 
            // 执行命令者 
            var menu = { 
                reFresh: function() { 
                    console.log("刷新"); 
                }, 
                add: function() { 
                    console.log("增加"); 
                }, 
                delete: function() { 
                    console.log("删除"); 
                } 
            }; 
            // 命令对象 
            var commondObj = function(reciver) {
                return function() { 
                    reciver.reFresh(); 
                } 
            }; 
            var commondObj1 = commondObj(menu); 
            setCommond(btn1, commondObj1);
ログイン後にコピー

Sender (setCommond): パラメーターを介して渡される限り、どのボタンに指定されているか、どのイベントにバインドされているかは関係ありません。
コマンド オブジェクト (commondObj): 受信者のパラメータを受け取るだけでよく、送信者がコマンドを発行すると、そのコマンドが実行されます。
レシーバー (メニュー): どこで誰によって呼び出されたかを気にする必要はなく、必要に応じて実行するだけで済みます。

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

JSデザインパターンのビルダーパターンの詳細な説明

JSデザインパターンのコンストラクターパターンの詳細な説明

jsデザインパターン - シングルトンパターンの使用

以上がJSデザインパターンのコマンドパターンを詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート