AOP(Aspect Oriented Programming)
-
定義
AOP(Aspect Oriented Programming)の略で、複数のオブジェクト(Core concern)に共通に適用できる機能(Advice)を別々に定義・分離してコードの再利用性を高めるプログラミング技術である。つまり、別に定義した共通機能を他のオブジェクトに挿入すること。 -
特徴
(1) 共通の関心をコアの関心から分離することで、コアロジックをきれいに保つことができる。
(2) これにより、コードの読みやすさ、安定性などを高めることができる。
(3) 各モジュールに変更が必要な場合は、共通の関心を変更するだけで済むのでメインテナンスが容易になる。 -
関連用語
(1) target:adviceが追加されるオブジェクト
(2) advice:targetに追加される共通の関心
(3) proxy:targetにadviceが動的に追加されて生成されたオブジェクト
(4) weaving:targetにadviceを追加してproxyを生成する行為
(5) join point:Adviceを適用可能なポイント(Springでjoin pointはメソッドのみ)
(6) pointcut:実際にAdviceが適用されるjoin point