Mediator パターン再履修(5) ~Mediator~
2010/05/14 21:24 - AS3.0
今回は Mediator クラスを組んでみます。 以下に Mediator パターンの本質に関わるコード部分を抜書きします。
パブリックプロパティ
このプログラムに登場する構成員の複数が使用するデータは、共用データとして Mediator で保持するようにしました。
ローカルプロパティ
ローカルプロパティではすべての Colleague を定義します。
パブリックメソッド
メソッドは、ドキュメントから呼び出される setup と Colleague から呼び出される notify のみ。
setup
このメソッドでは構成員である Colleague の生成をおこないます。
各 Colleague の mediator プロパティをセットしたり、個別にセットアップが必要な Colleague についてはセットアップもおこないます。
notify
このメソッドこそが Mediator パターンの本質。各 Colleague の交通整理をおこないます。
このメソッドを呼び出すのはあくまでも Colleague のみ。 Mediator 自身やドキュメントクラスから呼び出されることはありません。
そしてどの Colleague がこのメソッドを呼び出したのか、ということを引数で判定し、それぞれ所定の処理をおこないます。
「Head Firstデザインパターン ―頭とからだで覚えるデザインパターンの基本」には、ちゃんと設計しないとこの判断分岐のロジックが複雑で煩雑になるから気をつけろ、と書いてあります(P555)。
つまりここさえ押さえちまえば、Mediator パターンは攻略できるぜ、ってことでしょう。
次回は、前回の各 Colleague と今回の Mediator の全文を晒して、とりあえずのまとめなんぞ。
シリーズ
- Mediator パターン再履修(8) ~Cocoa 風作法(2)~
- Mediator パターン再履修(7) ~Cocoa 風作法(1)~
- Mediator パターン再履修(6) ~組んでみての雑感~
- Mediator パターン再履修(4) ~Colleague~
- Mediator パターン再履修(3)
- Mediator パターン再履修(2)
- Mediator パターン再履修(1)