基本的に主な目的は統一したメソッドで呼び出すということになるはず。
多分、順番をしたからにしたほうがわかりやすいと思ったりする。
- Receiver: 単なるオブジェクト。特に制約なし
- Command: execute()みたいな統一した呼び出しをもつクラス。Receiverを呼び出すのが主な仕事
で基本終わっていて、ここから私が混乱。正直、ここまででやりたいことは終わっているので。
しかし、GUIの画面作成を前提に置くとなんとなく分かった。
- Invoker: Commandの集合。おそらくGUIで言うところのウィンドウクラス。Commandのインタフェースを実装したボタンを配置するイメージになる
- Client: InvokerにCommandを設定する。InvokerにCommandを設定する
まとまるとこんな感じになるはず
見てみると普通のGUIプログラミングじゃん・・・
Webで言うとこんな感じかなぁ
- Client = HTML、JavaScript
- Invoker = documentクラスみたいな画面全体
- Command = 各要素。それぞれにonClickタグがあって、何かを呼び出したければこのタグを設定する
- Receiver = 呼び出し先関数