遅い→起動時

http://d.hatena.ne.jp/pmint/

ペイントツールのクラス構成

d:id:pmint:20080331:p1の続き。


現時点でのペイントツール プロトタイプの構成。設計のプロトタイプ。


d:id:pmint:20080116:p1と比べて…
ブラシとキャンバスの依存関係を逆転。
ブラシがキャンバスを呼び出すように。
キャンバスは扱われる側になるように。

Commandパターン

そのほか、Tool系クラスはCommandパターンに。
ToolがCommandを担当、その集約をInvokerであるTabletが持つ。
Receiver役はCanvasになり、Client役がコントロールクラス*1でもあるPaintが担う。

パレット

パレットはUIとして。
実態はキャンバスを埋め込んだフォームだから。

既製のクラス

FormBitmap.NET Frameworkにあるもの。

拡張方法

拡張はツールのサブクラスを作ることで。

*1:MVCで言うところの