Может ли кто-нибудь объяснить концепции АОП для манекенов: точка соединения, вырезка, плетение и т. Д.
Например: Аспект: модульная структура, охватывающая несколько классов. Что это обозначает?
источник
Может ли кто-нибудь объяснить концепции АОП для манекенов: точка соединения, вырезка, плетение и т. Д.
Например: Аспект: модульная структура, охватывающая несколько классов. Что это обозначает?
Думайте о проблеме как о функциональной группе, например, ведение журнала, аудит, безопасность
Эти функциональные возможности когда-либо присутствуют в большинстве кода, но на самом деле они не существуют в наших классах animal-> dog - они являются функциональностью, которая должна существовать во многих классах - они являются сквозными проблемами .
Точка соединения - это место в коде, где фактически выполняется код аспекта.
Срез точек , как сказать , что код работает на jointpoint.
Переплетение - это когда компилятор / система берет ваш обычный код и включает в себя весь код AOP, чтобы он вызывал правильный код и т. Д. - это можно считать дополнительным этапом предварительной компиляции.
Простой понятный пример:
Пожалуйста, имейте в виду, что терминология немного отличается между различными реализациями и средами AOP.
Читать по порядку
Каждое определение основывается на предыдущих.
Межотраслевой концерн
Что-то, что беспокоит вас (беспокойство) повсюду (сквозное) в вашем приложении. например, регистрация или безопасность
аспект
Кусок кода , который автоматически добавляется перед тем , после того , или оба ( вокруг ) существующий код
PointCut & JoinPoint
Pointcut
Место в выполнении кода, где выполняется часть аспекта.
JoinPoint
Точка, в которой ваш аспект «соединяет» pointcut. В «before» joinPoint у вас будет доступ к параметрам, в «after» joinPoint у вас будет доступ к возвращаемому значению. Если выброшено исключение, вам может потребоваться «try-catch-finally», чтобы обработать или повторно выдать его.
ткачество
Процесс добавления аспектов вокруг pointcut
источник