GARANTIR DESCONTO

Fórum Design Pattern DAO, BO, PO, VO, #568567

09/04/2009

0

e ai pessoal, gostaria que vocês me ajudassem nos design pattern o que é DAO, BO, PO, VO, para que servem? qual sua utilidade? quando uso cada um deles? poderiam me dar alguns exemplos para eu entender melhor? valeu !
Rodrigo Scorsatto

Rodrigo Scorsatto

Responder

Posts

09/04/2009

Cleuber_s

O DAO (data acess object) é um padrão de acesso à dados, serve para desacoplar a camada de negócio (por exemplo) da camada de persitência. O VO (value object) é comumente aliado ao DAO para realizar o transporte de objetos à camada de acesso à dados. Geralmente (mas não sempre) refletem as mesmoa propriedades das tabelas que se quer manter. O PO , nunca ouvi falar, mas se for POJO. São objetos que não estão atrelados a nenhum framework, desacoplados e flexíveis. Contém apenas as propriedades persistíveis de acrodo com a especificação da JPA. O BO , se for o que estou pensando, são Business Object. Objetos que estão relacionados à camada de negócio da aplicação (ou caso de uso...).
Responder

Gostei + 0

09/04/2009

Rodrigo Scorsatto

a parte de conceito eu entendi, o PO (persistent object) possui seus campos iguais o da tabela do bd... mais o que eu queria mesmo e um exemplo pratico desses patterns, sera que alguem pode me dar alguns exemplos? valeu !
Responder

Gostei + 0

09/04/2009

Gregui Shigunov

Quer que desenhe? hehehe então, aqui tem uma diagrama de classes e um diagrama de seqüencia. tem as VOs, DAO e BO (que são as Servlets) espero que ajuda ;) [url]http://gregui.wordpress.com/files/2007/10/diagrama_classes.jpg[/url] [url]http://gregui.wordpress.com/files/2007/10/sequencia.jpg[/url]
Responder

Gostei + 0

09/04/2009

Rodrigo Scorsatto

[quote="gregui"]Quer que desenhe? hehehe então, aqui tem uma diagrama de classes e um diagrama de seqüencia. tem as VOs, DAO e BO (que são as Servlets) espero que ajuda ;) [url]http://gregui.wordpress.com/files/2007/10/diagrama_classes.jpg[/url] [url]http://gregui.wordpress.com/files/2007/10/sequencia.jpg[/url]
opa valeu, mais como ja disse antes eu gostaria de um exemplo pratico, desenho conceito eu ja vi nos monte...
Responder

Gostei + 0

27/04/2010

Rafael Coelho.

Nao entedi exatamente o que eh este VO ? Eh tipo uma Serialization ? Alguem tem algum exemplo ja pronto ai para mostrar ?
Responder

Gostei + 0

27/04/2010

Lucas Vieira

[quote="rcoelho_6"]Nao entedi exatamente o que eh este VO ?
cara, vejo normalmente 3 definições para VO ( Value Object ). por serem comuns, acredito que já não se possa dizer qual é certa ou errada... o importante é saber com o que está lidando: 1. VO é um objeto sem comportamento, apenas com os dados. Geralmente vai ter um ou mais BO (Business Object) trabalhando com ele... exemplo:
class CarroVO {
    private String marca;
    private String modelo;
    private int ano;
    //getters, setters e construtores
}

class CarroBO {
    private static void estacionar(CarroVO carro, Vaga vaga) {}
    private static void contarQuilometragem(CarroVO carro) {};
}
2. VO é um DTO (Data Transfer Object), ou seja, um objeto para transferir dados entre camadas/processos para reduzir o número de chamadas a métodos (o que pode ser muito útil em caso de chamadas remotas como RMI) exemplo:
class Pessoa {
    private int idade;
    private String nome;
    private Endereco endereço;
    //faz outras coisas 
}

class PessoaDTO {
    private int idade;
    private String nome;
    private String rua;
    private String cidade;
    private String estado;
}
repare que a classe DTO condensa todas informações nos tipos básicos. assim vc não precisa passar as classes de seu modelo, mas uma classe que agrupe informações delas 3. VO na terceira definição acho que seja mais complexo de explicar. Tem a ver com o conceito de identidade. Um Value Object nesta definição não possui identidade, ele só importa pelo que vale. Vou tentar dar um exemplo: Se eu tenho 100 reais na carteira e vc 100 reais, e trocarmos...está tudo bem... não importa que mudaram as cédulas...o importante é o valor... Mas se eu tenho um filho e vc tem um filho... não dá pra gente trocar e continuar na mesma... meu filho é um só...ele é importante pelo que ele é (identidade) e não pelo que ele vale (ou pela altura, idade, etc...) O conceito de VO pode variar de sistema pra sistema... pro banco central, cada célula pode ter sua importância (pra rastrear um assalto por exemplo)... mas basicamente é isso...
Responder

Gostei + 0

19/10/2013

Tiago Loureiro

[quote="lvieira"][quote="rcoelho_6"]Nao entedi exatamente o que eh este VO ?
cara, vejo normalmente 3 definições para VO ( Value Object ). por serem comuns, acredito que já não se possa dizer qual é certa ou errada... o importante é saber com o que está lidando:
Muito Obrigado por esclarecer tão bem essa questão. abraço.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar