Primeiramente: não existe VO (objeto de valor) e BO (objeto de negógio), o que existe é “O” (objeto)! E este O possui atributos e métodos numa unidade só, e não há, necessariamente correlação entre atributos e getters/setters.
Com relação a acesso a dados, existe JPA/Hibernate (ou JPA/TopLink, se achar preferível) que gerencia a manipulação de dados no BD. É um pouco incompatível com a idéia do DAO clássico, que gerencia o CRUD de objetos de domínio, pois no Hibernate, só há a preocupação de gerenciar o estado attach/detach, e a transação.
Ou seja, não leve essas letrinhas muito a sério.
J
javaman00
Leonardo3001:
Primeiramente: não existe VO (objeto de valor) e BO (objeto de negógio), o que existe é “O” (objeto)! E este O possui atributos e métodos numa unidade só, e não há, necessariamente correlação entre atributos e getters/setters.
Com relação a acesso a dados, existe JPA/Hibernate (ou JPA/TopLink, se achar preferível) que gerencia a manipulação de dados no BD. É um pouco incompatível com a idéia do DAO clássico, que gerencia o CRUD de objetos de domínio, pois no Hibernate, só há a preocupação de gerenciar o estado attach/detach, e a transação.
Ou seja, não leve essas letrinhas muito a sério.
JPA/Hibernate the best!!
sergiotaborda
omaisnormalbaba:
Primeiramente Feliz ano novo a todos do forum. Estive pesquisando sobre VO(TO), BO,DAO e me deparei com algumas duvidas.
Value Object (VO) sao objetos que sao transmitidos de camada por camada? Eles possuem metodos get e set de suas propriedades?
Existem dois padrões chamados Value Object
Value Object : Objecto que contém apenas um valor. Exemplo: Date, Integer, String , etc…
Value Object : sinónimo de Transfer Object : objecto contruido para transportar dados entre nodos (máquinas diferentes)
para 1 sim, eles são trasmitidos de camada em camada. para 2 não. Ele pertence apenas a uma camada: A de infraestrutura encarregue de enviar os dados à outra máquina e vice-versa.
para 1 não. Normalmente não possuem get e set , mas podem conter métodos especiais para transformar o valor em outros tipos: Por exemplo, Integer tem um intValue() para pegar o valor como um int.
para 2 depende da implementação. Em tese não precisa. apenas um atributo com visibiidade de pacote é suficiente. E o objeto encarregue da trasmissão pode ler e escreve resses atributos sem usar get/set. não ha razão para encapsular os atributos, neste caso.
Primeiro vc está confundindo Business Delegate com Business Object. São coisas diferentes.
busines delegate é um objeto que está no cliente e delega operações para o servidor. Ele esconde a forma como a delegação é feita. (RMI, WebService, etc…) O business Object contém regras de negocio a serem aplicadas a entidades do sistema.
Nem um , nem outro são iguais a VO. Não têm get/set. Ele contém metodos de negocio. Por exemplo: