pcalcado:
Acho que você precisa rever alguns conceitos, como falei antes. DTO/VO/TO é um design pattern, uma solução para um problema específico. POJO é apenas um nome para chamar objetos que não são EJBs, não são Servlets, etc., basicamente objetos que não estão sujeitos à estender nem implementar interfaces de algum framework ou biblioteca.
Veja, o que é um DTO/VO/TO/POJO para mim não é o ponto e, faz-se desnecessário, as explicações sobre o que é isto ou aquilo. Isso já foi bastante discutido em tópicos anteriores.
O que levantei foi a similaridades entre estes objetos/conceitos/nomenclatura. São muitos sutis quando a prática entra em campo. E, para quem está começando, ler 3, 4, 5 livros ? como você disse - para entender a diferença entre DTO/VO/TO/POJO é um exagero. Não faz sentido isso.
pcalcado:
A wikipedia não é exatamente a melhor fonte sobre padrões mas eu me pergunto porque você acha que essa definição é a mesma coisa do que a de DTO. o que eles têm de semelhante?
Semelhanças? Simples: campos privados, um construtor sem argumentos (não necessariamente) e métodos getters e setters. Concordo que, Wikipedia não é a melhor fonte, mas esta costuma sempre aparecer nos primeiros resultados de buscas, e acaba sendo a fonte para alguém que, iniciando em algo, quer encontrar uma definição rápida.
pcalcado:
Ótimo, use mas não ache estranho de descrever sua arquitetura num fórum público (ou mesmo dentro da sua organização) e ela ser questionada.
Isso resume exatamente o que?
É, pelo jeito, você não costuma ler atentamente o que os outros escrevem, mas o contrário, parece verdadeiro neste fórum.
pcalcado:
Como falei antes existem diversos nomes mas o conceito é o mesmo, e pior: um artigo referencia o outro…
Você está sendo repetitivo novamente. Já concordamos nisso.
pcalcado:
Se você tem um motivo para colocar ele no seu sistema pouco importa do que você chame, agora o problema de usar um padrão fora de contexto não é nomenclatura já que, seja lá qual autor (e seus “interesses”) você escolha vai estar uma lista de motivações para usar o padrão. Quer usar o padrão fora de contexto? Ótimo, use…
Nisso entra o que já foi dito. Muitos tomam por regra aquilo que deveria ser abstraído das bibliografias e acabam usando certos conceitos em contextos diferentes, mas que para aquele, ou, aquela empresa, aquilo tem resolvido os problemas e sempre irão resolver. É ai que, entra o meu ponto, ou seja, o que o cara deve entender é de OO, o resto, o cara terá que adaptar, pois, na empresa X, os “caras” chamam DTO de VO; Na Y, VO de POJO; na Z, POJO de BOVO e por ai vai.
O ponto é que temos que ter o conhecimento do todo e adapatar conceitos. Isso vale para qualquer coisa, inclusive metodologia. Você ler livros, faz cursos e, aprende o jeito certo de usar XP, SCRUM com os “pais” das crianças. Mas quando você chega na empresa XYZ, os “caras”, usa XP e SCRUM do jeito deles, pegando isso ou aquilo, adaptando uma coisa ou outra e, pronto. O novato tem que se enquadrar. Você mesmo sabe disso.
pcalcado:
Ótimo, use mas não ache estranho de descrever sua arquitetura num fórum público (ou mesmo dentro da sua organização) e ela ser questionada.
Quando e onde que descrevi uma arquitetura neste tópico? Você está dizendo coisas que são desnecessários para o contexto do discutido até agora, e, insiste em querer achar que só você tem razão. Quando se propõe novas arquiteturas e novos conceitos, fatalmente questionamentos virão. Não é o caso desta conversa.
pcalcado:
Isso resume exatamente o que?
É difícil entender o raciocínio dos outros quando, a agente só entende e enxerga apenas os nossos. Quando o cara diz: “MUITAS pessoas usa isso neste sentido… mas EU uso para significar isso…”, o que ele está querendo fazer? Formar opinião? Criar novos conceitos? Fazer adaptação? Não sei. Só sei que muitos embarcarão com ele. Isso é fato.
Se amanhã ou depois o M.F. dizer em uma bibliografia: “vejam… no passado eu chamava isso de POJO, mas hoje, com a introdução desta nova interface o qual chamei de RETAL, passarei a chamá-lo de LOVORE…”. Pronto. Todos os seus seguidores dirão: “Amém!” E, passarão a ensinar o tal de LOVORE nos seus blogs e justificarão isso, mais aquilo… ai logo venha a JM, e bota na capa: “PROGRAMANDO COM LOVORES”. Qual a diferença de um livro que diz: “Programando com POJO” de outro que diz: “Programando com Java”? Essencialmente, o que o autor está querendo ensinar é OO e nada mais, além de querer criar novos conceitos e/ou arquiteturas para ter seguidores e ganhar seu “dinheirinho”.
pcalcado:
E existe empresa que programa em Access e ASP 3.0 para a web. Por isso você vai usar? E o que você quer dizer com isso tudo? Que se deve usar TO quando for necessário? E eu falei algo diferente disso em algum momento? Pelo contrário, eu falei que o problema é exatamente quando se usa sem necessidade (que é a enorme maioria dos casos).
Se você quiser trabalhar naquela empresa, você terá que usar ASP 3.O + Access, sim, principalmente se já existe uma equipe trabalhando ali. De novo, já tentei explicar isso anteriormente. Entenda se quiser. O problema é que, sua visão é muito focada na questão da ?necessidade? naquela arquitetura. O meu foco é mais centrado na questão de você chegar em uma empresa e, encontrar um monte de coisa funcionando ali, e querer mudar tudo porque eu li isso ou aprendi aquilo, ou porque é a última moda e/ou última palavra da bibliografia XYZ.