自作GUIを作るためのデザインパターン


●Observer
あるオブジェクトの変化を複数に通知するときに使用。

ボタンクリック、状態変化、再描画、という順番で処理される場合
Subject→Observer→Subjectと連続して処理が行われる場合もある。


描画エンジンなどで、バッファにデータを投げる時に使えそう。


●Visitor
あるデーター構造の要素に対して、各々の要素に適した処理を実施する時に使用する。
Visitorは各具体化された要素クラスの処理を書く。


あるデータ構造のデータを操作し蓄積するときに使えそう。
蓄積したデータはObserverに投げても良い。


●Chain of Respoinsibility
ある一連のオブジェクトのどれかで処理を実行する場合に使用。
Visitorは全部巡回するがこれは、どこかで止まる。


マウスクリック処理の検知に使用できる。


●State
ポリモフィズムの活用。
インターフェースを一般化出来るなら、状態ごとに適した処理を書きやすくなる。


ペイントなどで、消しゴム、ペン、エアブラシなど選択しているツールによって、
行われる処理が違う。この仕組はStateパターンで実現出来る。
モード変更処理に使えるか?


●Composite,Decorator
階層化されるデータやオブジェクトはこの2つで実現する。




参考になりそうなサイト。
ObjectiveCとデザインパターン