Seria um JavaBean um "objeto" real ?  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
hlegius
JavaChild
[Avatar]

Membro desde: 07/05/2006 14:29:25
Mensagens: 126
Localização: Guarulhos, SP
Offline

Tá legal. O título ficou super estranho, mas calma, eu explico !

Papo é o seguinte: olhei aqui no fórum um tópico que fala sobre o Javabeans e tem um um wiki na wikipedia falando sobre também.

Pelo que entendi, basicamente ele tem os getters e setters da entidade com um construtor vazio. Algo como:



Só que a minha dúvida é mais pro lado de OO do que outra coisa. Para esse Bean, eu tenho uma "classe" de ação, como por exemplo uma classe Inventario, logo, a Inventario.adiciona() aceitaria esse Bean Produto como parametro e por este motivo a Inventario.listar() retornaria uma coleção de Produto[*] (beans).

Até aqui tudo legal, só que pensem comigo: quando eu vou numa loja comprar um produto eu não "entrego" um "objeto" Produto para receber os produtos que casam com meus critérios, eu passo "especificações" e daí sim o Inventario me retorna objetos Produto[*], certo ?

Logo, penso que se Produto é um "objeto" real do produto que estou indicado, eu teria que ter uma classe ProdutoSpec para indicar nela os atributos que eu possa usar como referência para pesquisa como nome ou validade, e alguns outros como o "codigo" diretamente no Bean Produto.

Ou será que estou complicando algo que é simples ?

Se alguém puder me dar uma iluminada aí, ficaria grato !


Abraços!

http://programe.me
Zend Certified Engineer
ArchLinux - A simple lightweight Linux Distribution
[WWW] [MSN] [ICQ]
Paulo Silveira
Administrador
[Avatar]

Membro desde: 07/08/2002 18:38:50
Mensagens: 4203
Localização: São Paulo
Offline

ola!

muita gente critica essa formula de java bean, quando aplicada sem pensar. de uma olhada:
http://blog.caelum.com.br/2006/09/14/nao-aprender-oo-getters-e-setters/
http://fragmental.com.br/wiki/index.php?title=Fantoches

Acho que é o que voce esta procurando


http://blog.caelum.com.br twitter: @paulo_caelum


[Email] [WWW]
celso.martins
Virtual Machine Man
[Avatar]

Membro desde: 19/06/2006 13:54:23
Mensagens: 699
Localização: Rio de Janeiro
Offline

Cara, acho que a sua dúvida casa bem com os comentários desse post no blog do Shoes. Dá uma olhada, principalmente, nos comentários do Diego Carrion e na ultima resposta do Shoes a ele (a penultima dos comentários).

A OO te leva ao mapeamento mais próximo do mundo real. O que não significa exatamente.

Esse é um dos pontos onde tenho mais dúvidas, isto é, definir o que é responsabilidade de quem. Por exemplo: Um objeto é responsável por emitir um relatório de si mesmo? Eu creio que não. Assim eu crio uma classe ReportBuilder que vai manipular meus objetos de negocio e a minha lógica de criação de relatório. Não sei se está certo, mas tem funcionado na manutenção (flexibilidade).

Em compensação, um objeto é responsável por informar o seu estado à quem o esteja manipulando? Creio que sim. Então crio métodos que informem o estado aos cabras que queiram saber.

Para mim, ainda não é simples. Mas creio que o caminho seja esse.

Abraços

Hoje melhor que ontem e pior que amanhã.

Desenvolvimento Psicopata - Qualidade Total
Twitter
Infoblogs - A vitrine do seu blog
[Email] [WWW]
hlegius
JavaChild
[Avatar]

Membro desde: 07/05/2006 14:29:25
Mensagens: 126
Localização: Guarulhos, SP
Offline

Paulo e celso.martins,

Muito obrigado pelos links e comentários a respeito. Realmente abriu minha mente esses posts e wiki. Em vista disto, estou tentando adequar minhas idéias com o proposto (e correto). Gostaria aqui de colocar minha idéia rápida sobre duas classes: Produto e Pedido. Posso ? Vamos lá...



e a Pedido:



o teste:




e a saída:



Peço desculpas por não construir em Java, é que implementei em PHP para verificar a idéia dos ProdutoStatus:ISPONIVEL para verificar se rolava no php também e daí acabei por não reescrevendo a mesma app em Java... mas acho que dá para entender o funcionamento, se for o caso, reescrevo em Java, sem crises...

O que vocês acham ? Seriam uma implementação válida ou ainda tá uma programação procedural dentro de classes ?


Obrigado a todos pela ajuda =)
Abraços!

http://programe.me
Zend Certified Engineer
ArchLinux - A simple lightweight Linux Distribution
[WWW] [MSN] [ICQ]
blackfalcon
JavaEvangelist
[Avatar]

Membro desde: 01/04/2008 21:08:28
Mensagens: 347
Offline

Pessoal, ja li varias vezes sobre esse JavaBeans mas nunca parei para ver o que é.. isso ai é alguma IDE?

Abraços
Bruno Laturner
GUJ Expert
[Avatar]

Membro desde: 18/02/2008 16:17:53
Mensagens: 3002
Offline

blackfalcon wrote:Pessoal, ja li varias vezes sobre esse JavaBeans mas nunca parei para ver o que é.. isso ai é alguma IDE?


JavaBeans são componentes reutilizáveis de software que podem se manipulados visualmente com a ajuda de uma ferramenta de desenvolvimento.

Também é um anti-pattern na programação orientada a objetos, quando tentamos usar os objetos somente como estruturas que guardam dados, sem que eles tenham qualquer comportamento. Ou seja, é tentar programar proceduralmente/imperativamente em linguagens orientadas a objetos.

This message was edited 1 time. Last update was at 04/10/2008 07:49:08


A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra
[WWW]
hlegius
JavaChild
[Avatar]

Membro desde: 07/05/2006 14:29:25
Mensagens: 126
Localização: Guarulhos, SP
Offline

blackfalcon,

Dê uma lida na definição lá na wikipedia: http://pt.wikipedia.org/wiki/JavaBeans
Acho que ajuda a clarear tuas idéias.

http://programe.me
Zend Certified Engineer
ArchLinux - A simple lightweight Linux Distribution
[WWW] [MSN] [ICQ]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team