記事の紹介
この記事ではAOPプログラミングでよく使われる言語に対して扱います。
ジョインポイント(Joinpoint)
クライアントが呼ぶすべてのビズネスメソッド、ジョインポイントの中でポイントカットされるためポイントカットの候補にも考えられる。
ポイントカット(Pointcut)
特定条件でフィルタリングされたジョインポイント、色々なジョインポイントの中で特定メソッドだけに横断共通機能を遂行させる時に使用される。
表現式
リターンタイプのパッケージ経路、クラス名、メソッド名
アドバイス(Advice)
横断的関に該当する共通機能のコード、独立クラスのメソッドとして作成される。
- アドバイスの動作視点
動作視点 | 説明 |
Before | メソッドが実行される前に動作 |
After | メソッドが実行した後に動作 |
After-returning | メソッドが”正常的”に実行した後の動作 |
After-throwing | 例外が発生した後の動作 |
Around | メソッドが呼ばれる前、直後、例外発生などすべての視点で動作 |
ウィービング(Weaving)
ポイントカットで指定された核心関心メソッドが呼ばれた時に、アドバイスが該当しない横断的関心メソッドが挿入される過程を意味する。これを通じてビズネスメソッドを修正しなくても横断的関心 に該当する機能を追加したり変更することが可能になる。
アスペクト(Aspect)
ポイントカットとアドバイスの結合である。どのポイントカットメソッドに対してどのようなアドバイスメソッドを実行するかを決定する