| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/01/2010 11:32:04
|
_pto
HelloWorld
Membro desde: 25/06/2009 01:10:52
Mensagens: 15
Offline
|
Aê galera,
Confesso que procurei no fórum algo a respeito mas não achei...
Suponha que eu tenha um javabean CarrinhoDeCompras. Numa aplicação simples sem nenhum framework mas ainda assim utilizando MVC Model 2, este javabean é minha regra de negócios...
Mas eu posso adicionar métodos como "calcularTotal()" ou "quantidadeDeItens ()" ao mesmo ?
Os javabeans não podem ter APENAS métodos acessores (getters e setters) ?
OBRIGADO !!!
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/01/2010 11:52:14
|
evandrosantos
JavaTeenager
Membro desde: 15/12/2006 09:37:51
Mensagens: 183
Offline
|
Eu utilizaria outro objeto para fazer estas operações, mas se neste seu bean estão contidas as regras do seu sistema acho que não faria diferença vc colocar ai mesmo.
Mas sei lá, é como eu faria.
Flws
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/01/2010 11:53:17
|
sfidencio
Thread.start()
![[Avatar]](/images/avatar/cbce6ec6a0dd5a4f8640f4375254c479.jpg)
Membro desde: 18/07/2009 10:42:23
Mensagens: 26
Localização: Anápolis-Goiás
Offline
|
_pto wrote:Aê galera,
Confesso que procurei no fórum algo a respeito mas não achei...
Suponha que eu tenha um javabean CarrinhoDeCompras. Numa aplicação simples sem nenhum framework mas ainda assim utilizando MVC Model 2, este javabean é minha regra de negócios...
Mas eu posso adicionar métodos como "calcularTotal()" ou "quantidadeDeItens ()" ao mesmo ?
Os javabeans não podem ter APENAS métodos acessores (getters e setters) ?
OBRIGADO !!!
JavaBean Segue as seguintes especificações:
* implemente a interface java.io.Serializable (que possibilita a persistência e restauração do estado do objeto da classe);
* possua um construtor sem argumentos;
* que as suas propriedades sejam acessíveis através de métodos "get" e "set", seguindo um padrão de nomenclatura;
* possa conter qualquer método de tratamento de eventos.
Cara para ficar mais organizado...nesse caso, teu javabean serviria..de DTO..para trafegar entre as camadas.. eu os colocaria separado. e criava uma camada contendo classes so pra regras de negocio.
Assim
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/01/2010 12:03:17
|
_pto
HelloWorld
Membro desde: 25/06/2009 01:10:52
Mensagens: 15
Offline
|
Pelo que vc tah me falando, Vendas seria um DTO ou VO e VendasBusiness seria um BO.
Um DAO teria a estrutura parecida com o Vendas mas com anotações por exemplo pra indicar o mapeamento ??
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/01/2010 12:13:28
|
sfidencio
Thread.start()
![[Avatar]](/images/avatar/cbce6ec6a0dd5a4f8640f4375254c479.jpg)
Membro desde: 18/07/2009 10:42:23
Mensagens: 26
Localização: Anápolis-Goiás
Offline
|
_pto wrote:
Um DAO teria a estrutura parecida com o Vendas mas com anotações por exemplo pra indicar o mapeamento ??
Não se você estiver usando Mapeamento Objeto Relacional, o mapeamento nao é feito no DAO, e sim no Bean.
_pto wrote:
Pelo que vc tah me falando, Vendas seria um DTO ou VO e VendasBusiness seria um BO.
Exatamente!.
Quando eu programava em C# fiz uma aplicação onde eu coloquei os metodos de negocio..junto com os objetos de valores. o seja, onde fica os atributos encapsulados..seria a caixa preta.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/01/2010 12:18:09
|
_pto
HelloWorld
Membro desde: 25/06/2009 01:10:52
Mensagens: 15
Offline
|
Fizeste o BO implementar uma interface....Isto é só uma boa prática (re-uso de código) ou uma convenção (todo BO tem que implementar uma interface) ??
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/01/2010 13:24:46
|
mario.fts
Virtual Machine Man
![[Avatar]](/images/avatar/9e96d422fba85185a33829439f5df09d.jpg)
Membro desde: 14/05/2008 09:41:06
Mensagens: 632
Localização: São Paulo - ZL
Offline
|
da uma lida nesse artigo, acho que pode explicar muita coisa pra vc: http://fragmental.com.br/wiki/index.php?title=Evitando_VOs_e_BOs
|
Mário Amaral Gonçalves |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/01/2010 14:15:44
|
sfidencio
Thread.start()
![[Avatar]](/images/avatar/cbce6ec6a0dd5a4f8640f4375254c479.jpg)
Membro desde: 18/07/2009 10:42:23
Mensagens: 26
Localização: Anápolis-Goiás
Offline
|
_pto wrote:Fizeste o BO implementar uma interface....Isto é só uma boa prática (re-uso de código) ou uma convenção (todo BO tem que implementar uma interface) ??
Interface é verdadeiro sinômimo de HERANÇA. em C++ você poderia herdar de mais de uma classe. no JAVA isso não seria possivel se não exisitisse as interfaces, que fazem esse trabalho muito bem.
Interface gera um contrato com a classe. onde a classe é obrigada a implementar todos metodos da interfaces.
Interface não é uma implementação é um especificação.
Portanto, _pto: Isto é uma boa prática de fato, e também permiti você implementar polimorfismo, porque se você tiver uma Interface chamada Pessoa por exemplo. você pode criar uma classe chamada Cliente e outra Classe chamada funcionario, onde um Cliente é uma Pessoa, e um Funcionário é uma Pessoa (Herança). ou seja, uma Pessoa pode se comportar como um Cliente ou como Um Funcionário(Polimorfismo)
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/01/2010 10:18:58
|
analyser
JavaEvangelist
![[Avatar]](/images/avatar/d5e9d9e23447e1907c70ac5d9b29edcc.jpg)
Membro desde: 26/02/2007 09:31:49
Mensagens: 323
Offline
|
Não separa seus objetos de negócio em classes de atributo e classes de negócio, valorize a orientação a objetos. Evite o modelo anêmico. http://martinfowler.com/bliki/AnemicDomainModel.html
This message was edited 2 times. Last update was at 25/01/2010 10:20:19
|
Analyser |
|
|
 |
|
|