AOP

Aspect-Oriented Programming

Problem

before aop

Problem

oop based system

Solution

after aop

Solution

aop based system

AOP

AOP

mission

AOP

program execution

Joint points

  • Join point (точка соединения) — точка в выполняемой программе, где следует применить advice.

  • Многие реализации АОП позволяют использовать вызовы методов и обращения к полям объекта в качестве join points.

Joint points

joint points

Pointcut

  • Pointcut (срез) — набор join points.

  • Pointcut определяет, подходит ли данная join point к данному advice.

Pointcut

pointcut

Aspect

  • Aspect (аспект) — модуль или класс, реализующий сквозную функциональность.

  • Aspect изменяет поведение остального кода, применяя совет в точках соединения, определённых некоторым срезом.

Advice

  • Advice — средство оформления кода, который должен быть вызван из точки соединения.

  • Advice может быть выполнен до, после или вместо точки соединения.

Advice

advice