| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/10/2008 21:39:43
|
hlegius
JavaChild
![[Avatar]](/images/avatar/0f20c77d6afb02422603acb0329b5a41.jpeg)
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 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/10/2008 22:02:15
|
Paulo Silveira
Administrador
![[Avatar]](/images/avatar/a87ff679a2f3e71d9181a67b7542122c.jpg)
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/10/2008 22:11:05
|
celso.martins
Virtual Machine Man
![[Avatar]](/images/avatar/3ff4cea152080fd7d692a8286a587a67.jpg)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/10/2008 23:55:07
|
hlegius
JavaChild
![[Avatar]](/images/avatar/0f20c77d6afb02422603acb0329b5a41.jpeg)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/10/2008 04:09:26
|
blackfalcon
JavaEvangelist
![[Avatar]](/images/avatar/67cba9ae9e4555079d1751ea3d187147.jpg)
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/10/2008 07:48:19
|
Bruno Laturner
GUJ Expert
![[Avatar]](/images/avatar/5800ccd9514fd789d08e5831951aa6bc.jpg)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/10/2008 08:22:37
|
hlegius
JavaChild
![[Avatar]](/images/avatar/0f20c77d6afb02422603acb0329b5a41.jpeg)
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 |
|
|
 |
|
|