To com dúvida no que seria ‘orientação a aspectos’ e anotação.
AOP eu não entendi nada, mas anotações parece q qdo vc coloca uma, a classe/método só é acessado quando precisa…estou certo?
alguém pode me dar uma luz sobre essas dúvidas? hehe
[]'s
edit: aproveitando, alguém pode me dizer um exemplo prático do que seria uma regra de negócio?
Acho que a maneira mais fácil de entender AOP é a seguinte:
Suponha que você queira debugar o seu programa pondo uma chamada a uma função de log que imprime os parâmetros em cada chamada de método e em cada retorno.
public Long metodo1 (String parametro1, double parametro2) {
Long retorno;
if (log.enabled()) {
log.debug ("metodo1: parametro1 = " + parametro1 + ", parametro2 = " + parametro2);
}
-- seu código aqui ---
if (log.enabled()) {
log.debug ("metodo1: retorno = " + retorno);
}
Você sabe que isso é muito braçal, e gostaria de um método automático para fazer isso (modificar seu programa “automaticamente”).
Aí você pode usar o AOP, que é uma forma de modificar seu programa sem ter de escrevendo isso “manualmente”.
As anotações são como metadados da classe, metodo ou atributo que vc pode acessar em tempo de execução e descobrir coisas sobre estes itens. Tem o mesmo objetivo do xml mas é muito melhor de trabalhar pois é puro java(por exemplo da erro de compilação e vc nao fica um tempão tentando descobrir o que é. ).
ah então o que eu coloquei sobre anotações, esta meio correto
é acessado em tempo de execução
edit: sobre AOP, vejam se estou certo: seria quando vc ‘agrupa’ algum código que tem função parecida dentro de um método…essa junção seria o aspecto…no link que foi passado acima, vc checa a permissão apenas em um bloco estático de códsigo…ali seria o aspect…certo?
uma dúvida, com o AspectJ, é feito automaticamente?