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:
public class Usuario implements Serializable {
private String nome;
private Endereco endereco;
private List livros;
// etc...
// get / set
}
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:
public class UsuarioBO extends Usuario {
/*
* Implementacao dos metodos de negocio
*/
}
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
