Да, AspectJ , для одного.Это будет выглядеть примерно так:
after(): call(void method1()) {
method2();
}
То есть после вызова method1
, выполнить заданный код (который просто вызывает method2
. Все это называется advice . Часть call(void method1())
называется pointcut ; pointcut - это набор точек соединения --- определенных мест в вашей программе, где поведение может быть измененоили вводится новое поведение. Связанные точки и советы могут быть сгруппированы в аспекты --- таким образом, в название языка.
Существуют другие аспектно-ориентированные языки с аналогичными возможностями.