これら2つのポイントカットの違いは何ですか? ある構造を他の構造よりも使用する必要があるのはいつですか?
pointcut first_pointcut(): target(MyClass) && call(void myMethod(..))
pointcut second_pointcut(): call(void MyClass.myMethod(..))
私の混乱は、 AspectJ プログラミング ガイドを読んだときに始まりました。このガイドのいくつかの例では、次のような署名パターンを使用して、ポイントカット アプリケーションを特定のクラスに制限しています。
call(public * Figure.* (..))
これは、「Figure のパブリック メソッドへの各呼び出しを選択します」。他の例では、target を使用して、次のようにポイントカット アプリケーションを特定のクラスに制限します。
pointcut setter(): target(Point) &&
(call(void setX(int)) ||
call(void setY(int)));
「Point のインスタンスで呼び出されたときに、setX(int) または setY(int) への各呼び出しを選択します。」