Bom, vamos devagar…
JavaBeans não são classes apenas de dados, são um modelo de componente falido da Sun. Hoje em dia um JavaBean é uma classe que obedece a convenção de métodos com nome de get/set, não diz [bnada[/b] sobre terem dados, lógica ou qualquer otura coisa.
Sobre “classes de daos x classes de lógica”, se algum livro menciona isso (fora do cotnexto EJB 2.x, por favor) me indique porque eu estou atraz desta literatura faz tempo.
Quanto á escalabilidade, ter classes de dados e de lógivca separados não vai ter ajudar. Classes de dados não são DTOs de verdade, DTOs são criados pensando em como otimizar tráfego por uma rede, não mapear conceitos de negócio. A Mundo java #15 fala disso .
Os outros questionamentos sobre o uso de objetos de verdade (“classes gordas”) e não structs não possuem argumentos. Por que haveria perda de desempenho? Não há problema de escalabilidade em utilizar objetos.
“Tudo que preciso são dos atributos” foge completamente aod esenvolvimento OO. O que você precisa, seja em qual camada for, é de objetos, e eventualmente mostrar alguma dimensão (um atributo, comaprando porcamente) do estado deste. Logo você passa o objeto e exibe a dimensão, sem maiores problemas.
A questão não é ‘ficar melhor estruturada do ponto de vista O.O.’ a questão é de que simplesmente se você não tem objetos possui estruturas de dados e funções, e se você possui estruturas de dados e funções você não está num sistema OO e sim num sistema procedural, exatamente como os construídos em Pascal ou C.
O tal ‘desperdício’ de criar objetos com métodos que não serão utilizados não procede. A JVm (assim como a maioria das plataformas) cria apenas uma vez o espaço destinado a código em memória, logo não há repetição não utilizada.
Leiam os artigos, eles trazem muitas informações sobre isso.