Command Pattern
2017/09/30
これは古典的なパターン。検索すればいくらでも出てきます。
処理(振る舞い)と処理に必要なパラメータをまとめて一つのオブジェクトにする。
↓
コマンドを呼び出す側と処理する側を切り離すことができる。
魔法使いクラスを作成する際、技・術を魔法使いのメソッドにしたりせず、技のインターフェイス(IArt)をつくり、魔法使いクラスはそのリスト(
List<IArt> Arts
)を持たせておく感じ?PrismではCompositeCommandで使われています。
CompositeCommandはICommandのリスト(RegisteredCommands)を保持し、Executeメソッドで順に実行します。
親Viewに設置されたCompositeCommandのRegisteredCommandsプロパティに、子ViewからRegisterCommandメソッドでコマンドを登録します。
※イメージです。実際とは異なる場合があります…