| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/12/2004 11:38:51
|
marcosurata
Debugger
Membro desde: 07/09/2003 22:34:36
Mensagens: 65
Offline
|
Bom dia,
Tenho andado pesquisado sobre o uso ou nao de VOs e percebi que nao eh muito legal usa-los, devido a varios motivos. Por exemplo, se eu atualizar minhas entitys com novos atributos, vou ter que sair alterando todos os meus VOs.
Uma solucao seria criar a minha entity e uma outra classe que extenderia essa entity (que ai sim teria os metodos de negocio). Algo assim:
A classe acima seria a classe q eu enviaria pro cliente.
e a classe que de fato possui os metodos de negocio seria algo como a classe abaixo:
Resumindo,
- Meus controladores iriam usar a classe UsuarioBO.
- Seria enviado para o cliente apenas a classe Usuario
Dessa forma, caso houver alteracoes ou inclusoes de atributos ou qqer coisa do genero, eu so iria modificar em um lugar so, alem eh claro de diminuir o numero de classes do meu sistema.
O que vcs acham?
Valeu,
Marcos
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/12/2004 12:01:37
|
aborges
GUJ Ranger
![[Avatar]](/images/avatar/c896d785411ce08cdd4ea.jpg)
Membro desde: 08/10/2003 11:44:19
Mensagens: 818
Localização: Caçapava - SP
Offline
|
C nao me engano, embora vc tenha a interface Usuario, para trafegar, vc necessitara da Instancia de um objeto q implemente a mesma tipo:
Neste caso, vc estaria passando o UsuarioBO da mesma maneira...
Isto eh soh um palpite, me corrijam c eu estiver errado
|
Linux é que nem sexo, quem não conheçe diz que dói
Alexandre Borges |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/12/2004 12:03:51
|
marcosurata
Debugger
Membro desde: 07/09/2003 22:34:36
Mensagens: 65
Offline
|
Usuario eh uma CLASSE CONCRETA com gets / sets. Nao eh uma interface
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/12/2004 12:05:39
|
aborges
GUJ Ranger
![[Avatar]](/images/avatar/c896d785411ce08cdd4ea.jpg)
Membro desde: 08/10/2003 11:44:19
Mensagens: 818
Localização: Caçapava - SP
Offline
|
Ops! Nao prestei atencao
|
Linux é que nem sexo, quem não conheçe diz que dói
Alexandre Borges |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/12/2004 12:43:43
|
cv
Moderador
![[Avatar]](/images/avatar/210f760a89db30aa72ca258a3483cc7f.jpg)
Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline
|
E pra que vc precisa de uma classe concreta, nesse caso? Uma interface tambem resolve. Voce pode ter duas ou mais interfaces implementadas pelo mesmo objeto de negocios, so tomando o cuidado de nao colocar comportamento demais numa classe so.
De resto, concordo com voce, quanto menos DTOs e VOs e objetos burros, melhor.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/12/2004 13:42:49
|
marcosurata
Debugger
Membro desde: 07/09/2003 22:34:36
Mensagens: 65
Offline
|
CV,
nao entendi seu post. Mas a minha intencao em "quebrar" a classe Usuario em 2 (Usuario e UsuarioBO) é de poder enviar pro cliente uma classe (Usuario) que funcionaria exatamente como um VO.
A vantagem eh q eu nao iria ficar criando um VO pra cada entidade minha q eu precisar enviar seus respectivos dados pro cliente.
Nao sei se consegui me explicar,
Valeu
Marcos
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/12/2004 09:21:09
|
cv
Moderador
![[Avatar]](/images/avatar/210f760a89db30aa72ca258a3483cc7f.jpg)
Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline
|
Nao existe necessidade em criar uma classe Usuario, nesse caso. Voce pode fazer:
E depois:
E depois...
Pra parte "burra" do sistema, voce passa uma referencia a um User (que nao ve os metodos de negocio), e pras partes onde mexer com o negocio eh necessario, passe um UserBusiness. Desse jeito voce NUNCA, JAMAIS precisa passar um UserImpl pra ninguem
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/12/2004 18:44:27
|
Ironlynx
Moderador
![[Avatar]](/images/avatar/93d65641ff3f1586614cf2c1ad240b6c.jpg)
Membro desde: 02/05/2003 01:06:41
Mensagens: 3515
Localização: The other side of the screen
Offline
|
Isso não passa na compilação...
Cv, uma interface não pode implementar outra interface!Ela pode dar um extends em outra interface!
|
Não basta persistir...tem que prevalecer!
Ironlynx
Anarquista de Sistemas
http://osereojava.blogspot.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/12/2004 11:34:33
|
cv
Moderador
![[Avatar]](/images/avatar/210f760a89db30aa72ca258a3483cc7f.jpg)
Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline
|
Ah, Ironlynx, da um desconto... eh natal
|
|
|
 |
|
|