VO dentro de outro VO, pode?

2 respostas
M

Galera,

seguinte, estou desenvolvendo uma aplicacao envolvendo struts/ejb/hibernate.

Existe uma funcionalidade na aplicacao que eh buscar um usuario cadastrado no sistema de acordo com algum filtro.

A minha classe Usuario tem como atributos:

public class Usuario
{
   private String idUsuario;
   private String nome;
   private String cpf;
    ...
   private Endereco endereco;
   private Perfil perfil;
    ...
  // get/sets
}

Minha classe Endereco

public class Endereco 
{
   private String idEndereco;
   private String bairro;
   private String cep;
    ...
  // get/sets
}

Minha classe Perfil

public class Perfil
{
   private String idPerfil
   private String nome;
    
  // get/sets
}

Todos esses objetos sao persistidos no banco, em tabelas separadas (uma tabela so de usuario, outra so de endereco e outra so com o perfil).

Minha duvida eh:

Eu vou retornar para o cliente um objetoVO contendo os dados do usuario.
Eu posso ter um objeto UsuarioVO que possui um obj. EnderecoVO e um PerfilVO ?

Existe outra forma de modelar isso? Nao quero colocar todos os atributos do EnderecoVO e do PerfilVO junto com os do UsuarioVO, pq pode ser q futuramente um usuario possa ter mais de um endereco. Logo o retorno da busca de um usuario envolveria uma collection de enderecos.

Espero q eu tenha conseguido me explicar.
Valeu galera
Marcos

2 Respostas

F

Vc deve modelar seguindo os principios básicos de modelagem utilizando agregação, composição, …

Os VOs tem como principal função o transporte de dados como os DTOs sendo objetos enxutos e não de serem objetos sem relacionamento.

flw

pcalcado

http://fragmental.com.br/wiki/index.php?title=Evitando_VOs_e_BOs

Criado 21 de outubro de 2004
Ultima resposta 4 de jan. de 2007
Respostas 2
Participantes 3