Mediator パターン再履修(3)
2010/05/12 22:15 - AS3.0
今回、Mediator 学習用に作成するプログラムの仕様は以下のようにしたいと思います。
- プログラム起動時、ステージ上に以下のものが配置される
- 画像をロードするためのボタン(以下「ロードボタン」と呼ぶ)
- 画像をセーブするためにセーブボタン(以下「セーブボタン」と呼ぶ)
- コントラスト調整用スライダー(以下「スライダー」と呼ぶ)
- 画像を表示するための表示物(以下「ビューア」と呼ぶ)
- 上記要素のうち、プログラム起動時ユーザが操作できるのはロードボタンのみとする
- ロードボタンを押すと FileReference によって画像ファイルが読み込まれ、ビューアに表示される。同時にロードボタンは操作不能になり、スライダーとロードボタンが操作可能になる
- スライダーを動かすことで画像データのコントラストが変更される。その状況はビューアにリアルタイム表示される
- セーブボタンを押すと FileReference によってビューアの内容が外部画像ファイルとして保存される。同時にセーブボタンとスライダーは操作不能になり、ロードボタンが操作可能になる
そうすると、このプログラムに必要な機構は以下のようなものなると思います。
- ユーザが画像のロード、セーブの指示を出す機構(ボタン)
- FileReference を使ってファイルをロード、セーブする機構
- ユーザが画像のコントラストを変更するための指示を出す機構(スライダー)
- 画像のコントラストを変更する機構
- 結果を表示する機構(ビューア)
この5つの機構を Colleague クラスとして作成することになりますが、ボタンとスライダーは minimalComps を継承し、ビューアは Bitmap を継承したクラスにしようと思います。 なので Coleague の interface を作って、各クラスに implements させることにします。
別に minimalComps や Bitmap を拡張せずに、コンポジションにしてもよさそうなもんですが、interface の復習の意味も込めて、そのような実装にします。
で、その他に、これら Colleague を取りまとめる Mediator クラスを作るというわけですね。
続く。
シリーズ
- Mediator パターン再履修(8) ~Cocoa 風作法(2)~
- Mediator パターン再履修(7) ~Cocoa 風作法(1)~
- Mediator パターン再履修(6) ~組んでみての雑感~
- Mediator パターン再履修(5) ~Mediator~
- Mediator パターン再履修(4) ~Colleague~
- Mediator パターン再履修(2)
- Mediator パターン再履修(1)
スポンサーサイト