Olá pessoal,
comecei a conhecer AOP graças a revista Mundo Java com seu artigo sobre AOP usando o AspectJ.
Pelo que eu entendi de AOP, ele serve basicamente para solucionar problemas em que usando apenas OOP seria dificil de resolver ou até mesmo impossível, certo? Sua lógica seria mudar aspectos de funcionalidades já feitas, não precisando mudar códigos e futuras incompatibilidade, estou no caminho certo?
Se eu estiver no caminho certo, a dúvida é: quando irei saber se vou ou não usar AOP? Seria no meio do projeto quando algo já está pronto? ou eu tenho possibilidade de modelar isso na fase de designer?
Gostaria da opinião dos mais experts no assunto e de preferencia com exemplos reais no uso de um sistema… (tem sempre os exemplos padrões de LOG e Exceptions).
Obrigado e espero que seja útil para muitas pessoas