Para que serve o AspectJ? [fechadas]

Primeiro, observe que eu uso o AspectJ e gosto, mas o que mais posso fazer com ele.

Eu sei que o AspectJ pode ser / é usado para log. Em alguns casos, é usado para controle de transações - implementado principalmente em conjunto com anotações. O AspectJ também pode ser usado para aprimorar classes com métodos (gerados por código), como o Spring Roo.

Mas acredito que AspectJ e AOP em geral, podem ser usados para mais do que: classes parciais de log, controle de transação e simulação.

Então, quais são outros casos de uso úteis para AspectJ e AOP?

questionAnswers(3)

yourAnswerToTheQuestion