Gostaria de saber se tem alguem usando os conceitos de aspectos no Java,
e se poderiam passar alguma experiencia sobre vantagens/desvantagens desta
abordagem, como isso pode ser util em um ambiente pratico de desenvolvimento
de sistemas, se pode ser aplicado a qualquer tipo de aplicacao, etc?
Eu andei lendo alguns artigos com os famosos e pouco abrangentes exemplos de
computacao grafica tipo Objeto é Ponto ou Linha, mas achei que o conceito de
“advice” é praticamente a mesma coisa de chamar um metodo generico antes
ou depois de determinado codigo (pointcut). Queria saber se isso tem algo a mais,
algo que realmente enriqueca o codigo, etc.
[quote=“edilmar”]Queria saber se isso tem algo a mais,
algo que realmente enriqueca o codigo, etc.[/quote]
Na verdade ele empobrece o código :shock:
ehehe eu explico.
Essa chamada ao código genérico que você faz te amarra em um monte de coisas … a assinatura (parametros etc e tal) do método, package, função, etc…
Com AOP vc coloca esse codigo generico depois, o objeto nem sabe disso e vc vai la e loga o que ele tá fazendo, depois vc vai lá e faz uma validação de ACL pro usuário acessar esse metodo, depois vc vai lah e desabilita o metodo todo … depois vc vai la e faz o que quiser, isso tudo sem ter uma linha de codigo a mais na classe (por isso eu disse que empobrece o codigo ) …
A sua classe faz soh o que lhe compete e depois com AOP vc coloca as firulas que sao um mal necessário (mas q toda hora vc tinha que ficar copiando e colando pq nao ha muito como reutilizar chamadas em métodos )