Ola pessoal to estudando DAOs e vi que alguns metodos tem por exemplo
dao.insert(VO vo);
o que seria esse VO ?
Ola pessoal to estudando DAOs e vi que alguns metodos tem por exemplo
dao.insert(VO vo);
o que seria esse VO ?
VO = value object
os VO são objetos em formato JavaBeans no qual armazenam dados da aplicação, como por exemplo informações de um cliente, produtos e assim vai.
O VO foi criado para diminuir o tráfico da rede, invés de você por exemplo, em um cadastro passar 20 campos para o servlet, você armazena essas informações em um VO e passa tudo de uma única vez.
os DAO recebem esses VO para fazer persistencia dos dados.
Ainda bem que não melhoram o tráfico. Imagina a violência que teria nos programas Java.
Ele, na verdade, melhora o tráfego.
[quote=“danieldestro”]Ainda bem que não melhoram o tráfico. Imagina a violência que teria nos programas Java.
Ele, na verdade, melhora o tráfego. [/quote]
óóóóó :oops: :oops: :oops: :oops: :oops: :oops: :oops:
desculpe pela falha técnica
Técnica nada, ortográfica :lol:
Lembre-se que os VOs são chamados TOs agora
E são uma grande gambiarra.
Sobre os padrões da Sun:
http://java.sun.com/blueprints/corej2eepatterns/Patterns/
[]s
VO = TO = DTO.
Phillip, eu ví no seu Jablo sobre essas gambiarras e fiquei voando.
Porquê acha isso?
Qual o significado do DTO para meu sistema? Falando de modelo, nada. A úncia utilidade do DTO é suprir uma carência da rede, que não permite que se façam transações muito pequenas sem rpejudicar a performance do sistema todo.
Criar DTOs é criar structs em Java. Objetos devem possuir estado e comportamento, DTOs são apenas parâmetros agrupados (veja o texto do fowler).
Você já possui um objeto X (Clietne, por exemplo) que tem todos os atributos que você precisa, mas você vai rpecisar criar um XValueObject com quase as mesmas coisas só rpa passar pela rede, formando duas hierarquias paralelas de classe.
Fora que em muitos casos você acaba criando um DTO que só serve como resposta de um método, reusabilidade mínima.
[]s
Hummmm…
Esse é o grande perigo de ficar usando Padrões indiscriminadamente, só porque estão “na moda”.
Ví o tópico de um cara aqui no GUJ, que ele criava N interfaces para um TO (VO, DTO) só para suprir as necessidades das diferentes camadas do sistema (Struts, JSP, Negócio). Ao meu ver, vira uma salada de classes e interfaces que só complicam a manutenção.
Valeu pessoal deu para entender um pouco…
tipo vejamos o seguinte tenho a tabela Produto
estrutura da tabela Produto :
CDPRODUTO int,
NOPRODUTO String
e então meu VO.
Public class Produto {
private int cdProduto;
private String noProduto;
//metodos sets and gets
}
Outra duvida : como integro isso com DAO.
por exemplo eu fiz a interface DAO com as assinaturas
fiz a classe que implementa(ConcreteDAO).
agora como que eu faço o DAO gravar isso na tabela certa. porque ele recebe um VO…
e por ultimo minha aplicação é para Desktop , dae para aplicar esses padrões DAO e VO ???
Valeu, qualquer ajuda sera bem vinda.
Sobre o seu VO, é isso mesmo.
Dá uma olhada aqui: http://javalee.sf.net
Eu criei este software para gerar suas classes VO e DAO (e o que mais você quiser) com base nas suas tabelas.
hum baixei o seu programa e o apliquei em sistema de controle de ponto aqui do escritorio… tipo ele cria varias classes
FuncionarioDAO e Funcionario(VO).
bom pelo que pude percebe cada “entidade” ganhou um DAO de presente e um VO.
DAO seria o cara que grava as coisas no banco e VO seria os dados “encapsulado” em uma classe.
mas tipo ele poderia aplicar herança e o pattern
igual o exemplo no site da SUN
http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html
Tipo num tem como eu fazer um Unico DAO e usa-los para todos os VOs
?
Tem sim… dá uma lida no site e veja como você pode configurar tudo isso.
Na verdade as classes são geradas como vc quiser, basta fornecer os XSLs.