Estou começando a entrar no mundo da Orientação a Aspectos com AspectJ.
Porém gostaria de ver a opinião de vocês se vale investir nele, e contrur um sistema inteiro com AspectJ?
Realmente a coisa é poderosa, mas o meu medo é que de uma hora pra outra a tecnologia entre em desuso, e eu ficar sem suporte.
AspectJ para NetBeans não funca com a Versão 5.5, e AspectJ não é compativel com Java 6.0 (Vai ser Algum dia???) apenas com abaixo de 5.0.
AOP tem muita utilidade. Aconselho ler o manual de referência do spring para ver como AOP pode ser útil.
O Spring usa AspectJ e o cara que desenvolveu o AspectJ trabalha no Spring.
[]s
Luca
marcelo_mococa
AOP é bem interessante. Posso te garantir que já está sendo muito usado no mercado. O spring tem muitos serviços implementados em aspectos.
Agora a respeito do aspectj, acho que é apenas uma ferramenta. AOP não está relacionado com aspectj. Existe vários frameworks para trabalhar com AOP.
Resumindo: Vale muito a pena estudar AOP.
EderBaum
O que me deixou decepcionado é o seguinte:
1 - AspectJ só rola até o Java 5
2 - Não há suporte a AspectJ no NetBeans a partrir da versão 5.0
Sei que há outras alternativas, mas AspectJ tornou-se um padrão praticamente.
O que eu tenho medo é de ter que ficar preso a uma IDE e a uma versão do Java (5 neste caso)
Luca
Olá
Esqueça AspectJ, use o Spring
[]s
Luca
urubatan
EderBaum:
O que me deixou decepcionado é o seguinte:
1 - AspectJ só rola até o Java 5
2 - Não há suporte a AspectJ no NetBeans a partrir da versão 5.0
Sei que há outras alternativas, mas AspectJ tornou-se um padrão praticamente.
O que eu tenho medo é de ter que ficar preso a uma IDE e a uma versão do Java (5 neste caso)
AspectJ se baixar uma versão de desenvolvimento ja tem suporte a Java 6, o que quer dizer que em algum momento no futuro vai sair um release oficial
quanto ao netbeans …
larga dele e usa ou o eclipse ou o IDEA
urubatan
para muita coisa o spring usa o aspectJ e se usar isto, também quebra com o java 6, exceto se utilizar os jars de desenvolvimento do aspectJ …
C
carneiro
Vale a pena estudar AOP sim. Em muitos casos é útil, mas é claro que você não vai ficar enchendo a aplicação de aspectos, pois pode tornar o código uma bagunça muito grande.
A AOP do Spring realmente é bem interessante e poderosa. Tenho usado ultimament e tem sido muito legal. Já usei o JBoss AOP também e gostei.
Nesses últimos dias usei aspectos para implementar cache de alguns métodos, muito simples e prático, pois nem sequer alterei o código das buscas e posso habilitar e desabilitar quando quiser, bastando alterar a configuração do Spring.
Tem uns arquivinhos “aj” por lá. Sem falar que tem questões em termos de performance.
É como eu disse: o cara do AspectJ foi contratado pelo Spring.
[]s
Luca
ramilani12
EderBaum:
Estou começando a entrar no mundo da Orientação a Aspectos com AspectJ.
Porém gostaria de ver a opinião de vocês se vale investir nele, e contrur um sistema inteiro com AspectJ?
Realmente a coisa é poderosa, mas o meu medo é que de uma hora pra outra a tecnologia entre em desuso, e eu ficar sem suporte.
AspectJ para NetBeans não funca com a Versão 5.5, e AspectJ não é compativel com Java 6.0 (Vai ser Algum dia???) apenas com abaixo de 5.0.
Então? Mergulho ou não?
Bom acho que vale apena , AOP é tese da minha monografia da Pos-Graduacao:
Meu estudo de caso transformei um sistema em O.O para AOP técnicas que ficaram elegantemente reutilizáveis:
:arrow: Tecnicas de Tracing e Loging
:arrow: Tecnicas de Captura de Excecoes
:arrow: Tecnicas em atualizar uma GUI
Com isso vc consegue reduzir bem código intrusivo e espalhamento de código
Deixando o sistema com facil entendimento e manutenção.
AOP possui algumas desvantagens:
Ao mesmo tempo o fácil entendimento do sistema é uma vantagem tbm é uma desvantagem devido a dificuldade em entender o que ocorre com determinada classe ao ler seu código, pois as chamadas referentes ao entrelaçamento estão fora da mesma.
Este problema é conhecido como obliviousness;
K
knakahara
No problem, só não quero ficar preso a uma IDE como se eu estivesse programando em Delphi ou .NET
Bom, dai depende do suporte a AspectJ do Netbeans, que nao sei a quantas anda. No Eclipse, a nova versao do AJDT foi lancado junto com o Europa (apesar que nos meus testes com um dos ultimos release candidate o compilador estava muito lento, mesmo com java 5) e como programacao orientada a aspectos ainda esta em expansao tanto na pesquisa como no mercado, vale a pena investir no estudo, dai a escolha da ferramenta (aspecj, jboss, spring, etc) depende da tua aplicacao e preferencia…
a proposito, tem um estudo interessante sobre OO X AOP aqui, falando do impacto sobre coesao, acoplamento, manutencao, tamanho do sistema…
ps: desculpem a falta de acentos, computador alheio, teclado desconfigurado…
T
Tecnoage
Cara Acredito que o aspectJ ainda seja o melhor framework AOP, embora AOP não esteja totalmente relacionado a um framework específico… Vc tem o Jboss AOP (não conheco, to só citando), o aspectwerks, o suporte do Spring AOP, etc.
Antes que me pergutem o que uma coisa tem a ver com a outra, acredito que haverá uma mudança de paradigma, enterrando todas essas complicações aí na parte de programação…
Ou seja, Java e .Net estão com os dias contados… Dias contados entenda projetos novos. Ainda vão sobreviver uns 20 anos, mas não serão mais ponta de tecnologia.
[]'s
RafaelRio
ramilani12:
Bom acho que vale apena , AOP é tese da minha monografia da Pos-Graduacao:
Meu estudo de caso transformei um sistema em O.O para AOP técnicas que ficaram elegantemente reutilizáveis:
:arrow: Tecnicas de Tracing e Loging
:arrow: Tecnicas de Captura de Excecoes
:arrow: Tecnicas em atualizar uma GUI
Captura de exceções através de AOP, taí uma coisa que me interessa bastante. Sua monografia vai estar publicada na Internet?
ramilani12
Ola Rafael pretendo só publicar o artigo da monografia , mas captura de exceções em AOP fica bem elegante sem código intrusivo e repetitivo.
A noite coloco um exemplo aqui …
RafaelRio
Estou esperando! Você não tem um blog ou algum meio de publicar um artigo sobre tratamento de exceções com AOP?
Meu maior interesse é trazer essa técnica para desktop (Swing), tratar exceções num único lugar. A forma como eu tenho resolvido isso parece funcionar, mas soa como gambiarra. :roll: Creio que AOP seja a resposta.
ramilani12
Bom Rafael não tenho blog , mas pretendo escrever um tutorial aqui no GUJ sobre essa questão , aqui vai exemplo de como tratar Exceptions: