Quais as vantagens e desvantagens da OO(Orientação Objetos) em relação a OA(Orientação Aspectos).
Porque usar OA?
Para mim, programação orientada a aspectos trabalha em cima de OO.
na verdade OO e OA não são “concorrentes”.
podem ser usadas juntas.
mais pode ser usada individualmente?
posso criar um sitema somente com OA
[quote]mais pode ser usada individualmente?
posso criar um sitema somente com OA[/quote]
pode… mas você não fez essa escolha em detrimento a OO.
Intendi Obrigado, mais alguem tem um exemplo de um sistema de cadstro de pessoa básicao OA, , eu não tenho noçao de como fazer um sistema de classe Objeto e tals
Até onde eu entendo OO e OA podem ser complementares.
E o tema que a OA trata está presente na maioria dos sistemas independente de serem contruidos utilizando OO ou não.
OA, como o próprio nome já diz, lida com os aspectos de um sistema.
Como todo exemplo OA cito os aspectos sobre segurança, logs, transações e outros mais que surgirem na sua frente. São coisas que vc consegue implementar utilzando OO ou qualquer outra tecnologia. Mas ao utlizar a OA você “polue” menos o código.
flws
Mais segundo o aeciovc
pode se criar um sistema somente OA
[quote]
[quote]
mais pode ser usada individualmente?
posso criar um sitema somente com OA[/quote]
pode… mas você não fez essa escolha em detrimento a OO.[/quote]
[quote=erickfm8]Mais segundo o aeciovc
pode se criar um sistema somente OA
[quote]
[quote]
mais pode ser usada individualmente?
posso criar um sitema somente com OA[/quote]
pode… mas você não fez essa escolha em detrimento a OO.[/quote][/quote]
Eu nunca vi um software implementado somente com POA. O paradigma veio para cuidar de alguns aspectos que são mais difíceis de tratar com OO pura.
erickfm8, comece a estudar sobre o assunto. Leia artigos, estude alguma implementação - como o AspectJ. Só assim você começará a entender.
[quote]Mais segundo o aeciovc
pode se criar um sistema somente OA [/quote]
pode sim!
cara… entenda uma coisa, OA é usado para um objetivo específico.
como fantomas falou… exemplo: logs, transações.
se você ler um pouco sobre OA vai ver que ela não é concorrente da OO. tbm pensei isso quando ouvi falar a uns 2 anos atrás.
dá uma olhada ai:
http://www2.dbd.puc-rio.br/pergamum/tesesabertas/0210483_04_cap_02.pdf
http://imasters.uol.com.br/artigo/5134/por_que_orientacao_a_aspectos
http://www.guj.com.br/posts/list/22100.java
http://www.guj.com.br/posts/list/125943.java
Aspectos surgiu para ajudar em problemas que usando OO pura seria dificil de resolver. Um exemplo clássico é a geração de LOG.
Aconselhe entender o funcionamento de ambos e entender onde cada uma se encaixa, senão vai programar em pseudo-OO, aquelas classes com milhões de linhas, sem coesão, com alto acoplamento, etc etc etc. (quem já não fez isso que atire a primeira pedra :lol: )
Então você está dizendo que eu posso criar um software usando apenas (veja bem, APENAS) aspectos?
aeciovc então eu entendi, sei que é usado paralelo com OO e que não são concorrentes, porem não consigo intender como é possivil desenvolver um sistema SOMENTE com OA sem usar nada de OO, mais muito Obrigado, vou ler mais rsrs.
Abraços
Creio que não seja possível. Mas sei lá, estão falando que sim com tanta convicção que tô começando a acreditar
Lê algumas coisas e ainda não cheguei a conclusão se tem como ou não desenvolver um sistema completo usando OA pura
Você diz usar Aspecto sem OO? Se sim, em Java não é possível, pois um simples Hello World requer uma classe 8)
O que o aeciovc quis dizer, no meu entendimento, é que você pode sim usar Aspecto em qualquer projeto OO, pois eles não são concorrentes e sim complementares.
Se for isso eu intendi ;D
Para quem ainda estiver com dúvida sobre o assunto faço a seguinte sugestão:
Pergunte a si mesmo PORQUE inventaram tal coisa chamada ORIENTAÇÂO A ASPECTOS. Para que exatamente ela serve?
Você verá que ao entender o propósito dela as coisas irão começar a ficar bem mais claras.
flws