アスペクト指向プログラミング
別名: AOP
オブジェクト指向の次のトレンドとして注目されていた技術.
ロギングやトランザクションなどアプリケーションの様々な部分に作用する共通な処理を横断的関心と呼び,アスペクトとして独立して記述することでソフトウェアの柔軟性を向上させることを目的とする.
オブジェクト指向では横断的関心はプログラムのあちこちに分散してしまう.
横断的関心をコードの外部に独立して管理し,外部から与える.
Joinpoint
プロパティや関数の呼び出しなどAdviceを割り込ませられるタイミング.
Advice
ロギングなどの処理.
Pointcut
Joinpointをフィルタリングする機能.
高階関数によるデコレータ的なラッパが一つの実現例である