自作GUIを作るためのデザインパターン
●Observer
あるオブジェクトの変化を複数に通知するときに使用。
ボタンクリック、状態変化、再描画、という順番で処理される場合
Subject→Observer→Subjectと連続して処理が行われる場合もある。
描画エンジンなどで、バッファにデータを投げる時に使えそう。
●Visitor
あるデーター構造の要素に対して、各々の要素に適した処理を実施する時に使用する。
Visitorは各具体化された要素クラスの処理を書く。
あるデータ構造のデータを操作し蓄積するときに使えそう。
蓄積したデータはObserverに投げても良い。
●Chain of Respoinsibility
ある一連のオブジェクトのどれかで処理を実行する場合に使用。
Visitorは全部巡回するがこれは、どこかで止まる。
マウスクリック処理の検知に使用できる。
●State
ポリモフィズムの活用。
インターフェースを一般化出来るなら、状態ごとに適した処理を書きやすくなる。
ペイントなどで、消しゴム、ペン、エアブラシなど選択しているツールによって、
行われる処理が違う。この仕組はStateパターンで実現出来る。
モード変更処理に使えるか?
●Composite,Decorator
階層化されるデータやオブジェクトはこの2つで実現する。
参考になりそうなサイト。
ObjectiveCとデザインパターン