アスペクト指向勉強会 - 実践編 (第14回)
2チームに分かれて前回の続き。
僕らのチームは、前回の要求の修正をもとに、Theme Relationship View を更新。また、Aspect を識別して Crosscutting View を作成。あと、小さすぎる Theme を統合したりした。ここまででひとまず分析は終了。
もう1チームの方は、テーマ「勝負(を判定)する」について、設計の作業を行った。クラス図とシーケンス図を作成したようだ。
あとでレビューしたんだけど、テーマごとに独立して設計すると言いつつ、やはり共通認識がないとマージなんてできないと思うよ。
- オブジェクト間の依存方向
- テーマ間で勝手にやって双方向が増えると、結合度が高くなって開発やテストがやりにくくなったり、デッドロックが起きやすくなったり。
- 基本は、イベント系→リソース系 かな?
- オブジェクトのライフサイクル
- Singleton なのか? 毎回 new するのか? とか。
- Active Object なのか? Passive Object なのか?
それから、テーマの定義が曖昧なので、そのテーマで何をどこまで扱うかが不明確だった。テーマをどう定義するかノウハウが必要ですね。
やっぱり Jacobson の方がいいかな... という思いは抱きつつ、次回ももう少し設計の作業を行ってみる予定。ただ、チームに分かれる前に、全員で方針を確認することに。