今回は、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デザインパターンのコマンドパターンを詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。