アスペクト指向
Aspect Oriented Programming
プログラムではあちこちで似たような処理が行われることがある。これを横断的に取り扱うための手法。
共通処理を1箇所にまとめる方法の一手法
例
関数の開始、終了
関数の開始、終了の度に、そのことを示すコードを関数内に書くのではなく、「関数の開始」「関数の終了」として統一的に1箇所に書くだけにする。
ログ
何らかの変数、または関数のログを取る。
利点
本来は関数そのものの目的ではないのに、毎回書かなければならないようなコードを避けることができる。
大量のコードの変更をしなくても、共通的な処理を追加・変更・削除することができる。
欠点
実際にその場で何が起こるのかが分からない。
そもそもどうやって挿入するのかが難しい。手掛かりとなる何らかの標示を書くのであれば、サブルーチンコールとやっていることが変わらなくなってしまう。