Organizing Presentation Logic
http://www.martinfowler.com/eaaDev/OrganizingPresentations.html
id:thataさんのところから。この記事じたいはRich Clientなプログラミング環境を想定してるみたいですが、タイトルどおりプレゼンテーションロジックの構成についてのパターン。
MVCの分離パターン
- Autonomous View プレゼンテーションロジックがすべて一つのクラスに入っている
- Separated Presentation
- Retirement note for Model View Presenter Pattern aka Humble Dialog Box 振る舞いをViewから分離する
- Presentation Model aka Application Model GUIコントロールから独立した「状態」と「振る舞い」をあらわす
データのレイヤと同期
状態(State)の種類
- Screen State UIに表示されているデータ
- Session State ユーザが現在相手にしているデータ
- Record State セッションを超えて「ブラブラしてる」ことが期待されるデータ
同期の頻度の種類
- Key Synchronization キータイプやマウス操作のタイミングで同期
- Field Synchronization フィールドの編集を終えたタイミングでの同期
- Screen Synchronization 「OK」「完了」「キャンセル」ボタン等での同期
同期の粒度(?)の種類
- Coarse-grained synchronization UIのどこを変えても全体を同期する
- Fine-grained synchronization 更新する必要のある項目だけを同期する
同期のタイミングの種類
- Flow Synchronization 画面遷移のタイミングで同期
- Observer Synchronization(Fowreいわく名前がいまいち)複数の画面で共有されるDomainデータを監視して同期する
http://d.hatena.ne.jp/thata/20050912#1126624695
http://d.hatena.ne.jp/thata/20050912#1126532087
とも合わせて読んでふむふむしますた。
ViweとPresentationModelとDomainModelの同期、という視点は持ってなかった。