В чем разница между этими двумя точками? Когда следует использовать одну конструкцию над другой?AspectJ: target vs pattern для выбора методов в классе
pointcut first_pointcut(): target(MyClass) && call(void myMethod(..))
pointcut second_pointcut(): call(void MyClass.myMethod(..))
Мое замешательство началось при чтении AspectJ Programming Guide. Некоторые примеры в руководстве будут ограничивать Pointcut приложение к конкретным классам с помощью шаблонов подписи, как это:
call(public * Figure.* (..))
, который «выбирает каждый вызов открытых методов фигуры.» Другие примеры использование цели ограничить применение с пересечениями определенных классов, например:
pointcut setter(): target(Point) &&
(call(void setX(int)) ||
call(void setY(int)));
, который «выбирает каждый вызов Setx (INT) или сеты (INT) при вызове на экземпляре Point.»