Mediator パターン再履修(4) ~Colleague~
2010/05/13 21:35 - AS3.0
今回は Colleague に属するクラスのコードを組んでみます。
インターフェース
まず Colleague の interface 全文は以下のようになります。
Colleague から Mediator 、Colleague から Mediator。 この二つの情報の流れのために必要なものをそれぞれ一つずつ定義します。
クラス
複数ある Colleague に属するクラスの一部について、Class 文内のコードを示します。 示すのはボタンクラス、ビューアクラス、画像処理クラスの三つです。
ボタン
ボタンクラスの Mediatorからの通告(Colleague.update)、Colleague からの申告(Mediator.notify)、という視点から見たこのクラスの特徴は、update メソッドの中身が定義されていないという点です。
自分から Mediator へ申告はしますが、Mediator からの通告がない、ってことですね。
本来は定義する必要がないんですが、interface で定義されているから、このクラスでもしかたなく定義しているに過ぎません。
ビューア
ビューアクラスの Mediatorからの通告(Colleague.update)、Colleague からの申告(Mediator.notify)、という視点から見たこのクラスの特徴は、_mediator.notify を呼び出さないという点です。
ボタンとは逆にビューアは、Mediator からの通告はあるが、自分からの申告はない、ってことですね。
画像処理
今まで見た二つは、Colleague からの申告、Mediator からの通告、いずれか片方だけしか発生しませんでしたが、この画像処理クラスは両方あります。
なお、画像処理クラスの内部で呼び出されている Contrast クラスというのは、私のカスタムクラスです。
続く。
シリーズ
- Mediator パターン再履修(8) ~Cocoa 風作法(2)~
- Mediator パターン再履修(7) ~Cocoa 風作法(1)~
- Mediator パターン再履修(6) ~組んでみての雑感~
- Mediator パターン再履修(5) ~Mediator~
- Mediator パターン再履修(3)
- Mediator パターン再履修(2)
- Mediator パターン再履修(1)