0

これら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) への各呼び出しを選択します。」

4

1 に答える 1