É um assunto que já deu muito pano pra manga esta definição. Eu particularmente gosto de distinguir, visto que VO já foi utilizado em outros contextos, inclusive pelo Martin Fowler.
Mas, no final das contas, o que importa saber para quem esta aprendendo Flex é que não porque você já tem os objetos de Back-end que basta serializar e cuspir para o front-end se virar para apresentar os dados. Por isso eu gosto de distinguir e ir além um pouco. No caso do Flex - Java gosto de pensar que os DTOs são objetos muitas vezes criados exclusivamente para o transporte e a apresentação dos dados (por isso o nome Data Transfer Objects). Por que isso? Por dois motivos principais: 1. Muitas vezes você possui uma hierarquia de objetos complexa no back- end e isso adiciona complexidade ao front-end na apresentação dos dados. Isso acaba ou gerando muito bug ou limitado a flexibilidade de uma boa User Interface. Se você quer fazer grandes RIAs você já terá trabalho o suficiente com componentes de apresentação e não vale a pena desperdiçar este tempo com estruturas de dados complexas desnecessárias 2. Se você pega sua estrutura de dados do back-end e simplesmente cospe ela para o front-end você cria um acoplamento bem grande entre os dois. Ou seja, alterou o back-end você precisará alterar o front- end. Portanto, sempre que possível é interessante ter uma camada intermediária mais específica. []'s Beck Novaes On Mar 1, 1:23 pm, Pergentino Araújo <jpergent...@gmail.com> wrote: > Pra mim, o conceito é o seguinte: > > VO - Objeto (talvez Entidade) que possui atributos e, claro, vai ser > trafegado entre o server e o client. > DTO - Objeto multivalorado, que possui vários VO's. Um exemplo prático é o > DTO ter um mapa dentro dele e, claro, vai ser também trafegado entre o > server e o client. > > []'s > > 2010/3/1 Mário Júnior <juninho...@gmail.com> > > > > > > > Eu uso o termo VO ... na real, tanto faz DTO ou VO. > > Uso para representar objetos que PODEM ou NAO PODEM ter identidade, para > > encapsular dados para transferencia entre client e server e representar > > dados vindo do BD. > > > Pra mim, Value Obejct, tem mesmo só q representar valores, nao importando > > se a cotação do sapo na bolsa é relativamente superior a flexibilidade do > > rabo da largatixa =D (putz.. infame.. hehehe) > > > []s > > > Em 1 de março de 2010 12:47, Fábio <fabi...@gmail.com> escreveu: > > > Eu estava acessando agora um tutorial do Swiz e é usado o termo DTO: > > >>http://www.webappsolution.com/wordpress/2010/01/07/swiz-passive-view-... > > >> 2010/3/1 Vinicius Martinez <vinicius.b.marti...@gmail.com> > > >> Na verdade isso e uma confusão sem paradeiros.. > > >>> Por partes.. > > >>> Como voce mesmo disso, o VO (pattern Value Object), é utilizado para > >>> representação de objetos sem identidades..porém em algum momento de > >>> tempo/espaço isso se perdeu e o pessoal começou a chamas as entidades do > >>> banco de dados (representação ORM das tabelas) de VO.... > > >>> Se alguém conseguir me provar que uma representação desse tipo não possui > >>> um conceito de identidade (lembrando que é uma representação de um modelo > >>> de > >>> dados presente em algum SGDB, ou seja, geralmente possui "Pk's" e "FK's"). > > >>> Já o DTO é um outro pattern que basicamente tem algumas funções: > > >>> 1 - Evitar o tráfego desnecessário de informações na rede (EX: supondo > >>> que voce tenha um Cadastro de Clientes e tenha alguns campos como data de > >>> criação, data de alteração, etc..esses campos geralmente não são mostrados > >>> em algumas interfaces sendo assim, voce encapsula esses campos > >>> "mostráveis" > >>> em um objeto de transferência, economizando banda de rede) > > >>> 2 - separação em camadas > > >>> 3 - esconder o modelo de dados da aplicação como um todo > > >>> 2010/3/1 Fábio <fabi...@gmail.com> > > >>>> Estou iniciando em Flex e vejo por toda parte o uso do nome VO para a > >>>> representação dos objetos.. > > >>>> Pelo que eu estudei de DDD (Domain Driven Design), o termo VO (Value > >>>> Object) é usado para representar objetos que não tem identidade, ex: > >>>> Dinheiro > > >>>> Já o DTO (Data Transfer Object) é utilizado para troca de dados entre > >>>> sub-sistemas, sendo um termo mais parecido com a realidade do Flex, onde > >>>> é > >>>> trafegado tanto objetos VO e Entity (que tem identidade. Ex: Cliente) > > >>>> O que vcs acham? > > >>>> -- > >>>> Atenciosamente > >>>> Fábio Tadeu da Costa > >>>> fabiotc.com.br > > >>>> -- > >>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev" > >>>> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com > >>>> Para sair da lista, envie um email em branco para > >>>> flexdev-unsubscr...@googlegroups.com > >>>> Mais opções estão disponíveis emhttp://groups.google.com/group/flexdev > > >>> -- > >>> Vinicius Branda Martinez > > >>> MSN/GTalk: vinicius.b.marti...@gmail.com > >>> Skype: vinicius.branda > > >>> -- > >>> Você recebeu esta mensagem porque está inscrito na lista "flexdev" > >>> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com > >>> Para sair da lista, envie um email em branco para > >>> flexdev-unsubscr...@googlegroups.com > >>> Mais opções estão disponíveis emhttp://groups.google.com/group/flexdev > > >> -- > >> Atenciosamente > >> Fábio Tadeu da Costa > >>www.fabiotc.com.br > > >> -- > >> Você recebeu esta mensagem porque está inscrito na lista "flexdev" > >> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com > >> Para sair da lista, envie um email em branco para > >> flexdev-unsubscr...@googlegroups.com > >> Mais opções estão disponíveis emhttp://groups.google.com/group/flexdev > > > -- > > Mario Junior > > Enterprise Java / Flex Architectures > > Adobe Certified Expert Flex 3 with AIR > > > Sofshore Informática > >http://www.sofshore.com.br > > +55 (48) 3337 2003 > > Rua Pastor Willian Richard Schisler Filho 452 sl 102, 88034-100 Itacorubi > > Florianopolis SC Brasil > > > -- > > Você recebeu esta mensagem porque está inscrito na lista "flexdev" > > Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com > > Para sair da lista, envie um email em branco para > > flexdev-unsubscr...@googlegroups.com > > Mais opções estão disponíveis emhttp://groups.google.com/group/flexdev > > -- > Atenciosamente, Pergentino Araújo. > Arquiteto Java/Flex > MSc. Engenharia de Software > Adobe Certified Expert - Flex 3 with AIR -- Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com Para sair da lista, envie um email em branco para flexdev-unsubscr...@googlegroups.com Mais opções estão disponíveis em http://groups.google.com/group/flexdev