É 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

Responder a