ユースケースによるアスペクト指向ソフトウェア開発 読了
読了、AOPってあくまでオブジェクト指向を補完するために味付け程度に使うもんだと思っていたけどAOSDとして紹介されている内容はアスペクト技術が前面に押し出された内容で勉強になった。
分析段階から責務の分離を今まで以上に促進する為にアスペクト(InterTypeとアドバイス)を用いてオブジェクト指向原則に新たなパッケージング方法をプラスするとこが可能になり再利用・保守・拡張性を向上できる。
適当な説明するとInterTypeを使って基本実装クラスに拡張のテンプレート実装クラスを継承することなくmix-in的に組み合わせテンプレートに用意したジョインポイントにアドバイスを与える事で肉付けするって感じ。内容は良いのだけど実プロジェクトでは従来のS2におけるインターセプタみたいな裏方ではなくなるので、プロジェクトメンバーがキチンと理解していないと導入が難しそうだ。
現状.NET環境ではAspectJのようなアスペクトコンパイラやビジュアルにアスペクトの構造を認識できるツールが無いのでコンセプトをそのまま実現するのは難しいがpartialクラスを使ってユースケーススライスを表す事が可能な気がする。
partialクラスは同一アセンブリ内でしか使用不可なのでレイヤー毎にアセンブリを分割した場合はスライスがバラバラになるけどUI層より下位のレイヤーは同一アセンブリに定義しても問題無い気がするので適用可能性を検討したい