アスペクト指向勉強会 - 実践編 (第14回)

2チームに分かれて前回の続き。

僕らのチームは、前回の要求の修正をもとに、Theme Relationship View を更新。また、Aspect を識別して Crosscutting View を作成。あと、小さすぎる Theme を統合したりした。ここまででひとまず分析は終了。


もう1チームの方は、テーマ「勝負(を判定)する」について、設計の作業を行った。クラス図とシーケンス図を作成したようだ。
あとでレビューしたんだけど、テーマごとに独立して設計すると言いつつ、やはり共通認識がないとマージなんてできないと思うよ。

  • オブジェクト間の依存方向
    • テーマ間で勝手にやって双方向が増えると、結合度が高くなって開発やテストがやりにくくなったり、デッドロックが起きやすくなったり。
    • 基本は、イベント系→リソース系 かな?
  • オブジェクトのライフサイクル
    • Singleton なのか? 毎回 new するのか? とか。
  • Active Object なのか? Passive Object なのか?

それから、テーマの定義が曖昧なので、そのテーマで何をどこまで扱うかが不明確だった。テーマをどう定義するかノウハウが必要ですね。
やっぱり Jacobson の方がいいかな... という思いは抱きつつ、次回ももう少し設計の作業を行ってみる予定。ただ、チームに分かれる前に、全員で方針を確認することに。