
297
導
入
編
1
設
計
編
ア
キ
テ
ク
チ
ャ
編
2
3
4
5
6
7
6
ザクション処理を行わせます。各メソッドからCommandを作成して
CommandExecutorに処理を委譲します。ただ、これは非常に煩雑です。
やりたいことに比べて定義すべきクラスが多すぎます。Rubyなどではク
ロージャやブロックと呼ばれる方法を使うことで、多少はシンプルに記述
できます。しかし、クロージャやブロックを使うことでクラス定義は不要
ですが、ビジネスロジックをすべてブロックにするのも煩雑さが残ります。
AOPを使えば、この問題を解決できます。メソッドの開始と終了時に決
まった処理を行わせるように AOP に指示をすればよいのです。
しかし、AOPはプログラムをかえって複雑にするという声があります。
AOPには設定ファイルが付きものです。結局、ソースコード上に現れる複
雑さを設定ファイルに記述することになります。ソースコードはシンプル
に保てても、設定ファイルが複雑になるのでは意味がありません。また、
設定ファイルを見ないと、どのような処理が実行されるのかがわからない
ので、処理の見通しが悪くなるということもいえます。AOPは、使う理由
や他の方法との比較検討を行って、それでも効果があると考えた時に使い
ましょう。