Invoker

Last-modified: 2014-01-24 (金) 04:23:39

名称変更 → Operation

コマンド
CommandパターンでのInvoker
アプリの挙動を表す。「アプリ内部のイベント」に対するイベントハンドラーのようなもの。
一定の条件でフレームワークから呼ばれる。
UI系のクラスで生成されて、Queueに呼ばれて、Commandを起動する。

コミュニケーション図

Commandのためのデータを集める。または受け取って保管する。
Commandにデータを提供する。

ただし、ひとつのストロークに限った瞬間的なデータのみ。
「選択中のブラシが何か」などは保持しない。再生時にブラシを差し替えられるように。
Commandブラシ毎のクラスなので再生時にブラシが決まってしまう。

操作ログアンドゥのための記録)に残るもの。

インスタンス生成は普通に。


データ

  1. 永続的なもの
    Tabletが持つ設定値など
  2. 一時的なもの
    OSからのイベント、StrokePointなど。

いずれもCommandが使うためのデータ。

インターフェイス

  1. Canvas()
  2. Invoke()

クラス

System.ICloneable。クローン生成可能。クローンはLogに記録するためのもの。

属性

  1. Canvas
  2. Tablet
  3. StrokePoint
  4. Image

挙動

  1. AddStrokePoint(StrokePoint)
  2. Invoke(Canvas)
  3. Invoke()
  4. Clone() As Object
  5. New(Tablet)

サブクラス