アスペクト指向
Aspect oriented
横断的な処理をまとめて定義する方法
例えば、関数の開始、終了にログを仕掛けるような場合
単純な手続き型プログラミングでは、関数の開始、終了にログ出力処理を追加する。
全部に追加するために多大な工数を必要とする。
手動による追加では漏れや間違いが発生する。
アスペクト指向では、「関数の開始」「関数の終了」に対してログ出力処理を定義して、プログラム内に自動的に挿入させる。
どういう場面に有効か?
検証(チェック)
入力チェック
結果チェック
書式化(出力)
関数の開始、終了タイミング
問題
何が横断的であるか、いつどのように適用されるかを事前に定義する必要がある。
どこに適用されるかを機械的、暗黙的に定義できないと、結局手作業になってしまう。