抽象によるソフトウェア設計 第6章 事例 その5
今日は 6.3 メディア資産管理のところからです
- iView MediaPro という実在のソフトウェアのモデル化をして粗を探すらしい……
- 「このモデル化の動機は、もしかしたら今とは異なる設計があり得たのではないかと思えるような、嫌な体験を何度か経験したことである」
- 結論としては優れた設計だったということらしい
- Catalog, Asset というシグネチャとアプリケーションの状態を表す ApplicationState シグネチャを宣言
- 表示、非表示のきりかえやカットバッファの操作を述語として定義。これはメニューやボタンで実行するコマンド毎に定義しているみたい
- 操作前の状態と操作後の状態の関係を定義する方式
- 解析
- 操作が普遍条件を保存することを確認
- 切り取りと貼り付けが対称な操作になっていて互いに Undo として挙動すること
- ただし、カットバッファの内容が戻らないので完全に一致ではない
- etc... 確認したい内容は思いつくままに
- ソフトウェアの挙動からモデリングしてみてその仕様をよく理解できる
- ところで非表示の Asset を表示に戻す操作がなかったような……。省略されただけでしょうけど
- 田中哲さんの名前が!
今年の朝読書は今日でおしまいです。