AOP / anotações

9 respostas
D

Opa :smiley:

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?

9 Respostas

bruno_savi

Eu tbm tenho essas mesmas duvidas…
ultimamente falam tanto de Ascpectos…
mas até agora não entendi nada…

D

:[

Eu pesquisei sobre anotações e entendi mais ou menos aquilo…o método é chamado/compilado quando precisar só, mas não entendi :S

regras de negócio cada hora eu ouço que regras de negócio é uma coisa

e AOP, continuo na mesma

:[

lucasdeoliveira

Opa!
Dêem uma olhada nesse artigo:

http://www.javafree.org/javabb/viewtopic.jbb?t=6626

…espero que ajude a esclarecer as dúvidas.

[]'s

bruno_savi

Valeu…
ajudou bastante.

:smiley:

T

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”.

A

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 é. :slight_smile: ).

Alberto

D

ah então o que eu coloquei sobre anotações, esta meio correto :smiley:

é acessado em tempo de execução :stuck_out_tongue:

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?

Sami_Koivu

davidhc:
ah então o que eu coloquei sobre anotações, esta meio correto :smiley:

é acessado em tempo de execução :stuck_out_tongue:

Olá,

pelo que eu tenho entendido há três tipos de anotações.

(RetentionPolicy.SOURCE)
:arrow: Aquelas que são somente para o código fonte e não são incluídos pelo compilador. Por exemplo, a SuppressWarnings.

(RetentionPolicy.CLASS)
:arrow: Aquelas que são gravados nos arquivos .class, mas não são carregados em tempo de execução

(RetentionPolicy.RUNTIME)
:arrow: Aquelas que são disponibilizadas para o tempo de execução.

[]s,
Sami

D

Certo Sami, então fia assim:

(RetentionPolicy.SOURCE) - ela é apenas criada no código fonte, não é compilada e nem acessada.

(RetentionPolicy.CLASS) - é carregada apenas quando for necessária.

(RetentionPolicy.RUNTIME) - quando executa, ela é carregada!

Acho que está errado…ou me confundi todo :shock:

Criado 28 de novembro de 2006
Ultima resposta 28 de nov. de 2006
Respostas 9
Participantes 6