Estive lendo muita coisa sobre mvc aqui no guj. Acabei descobrindo que DTOs não são recomendadas, salvo em último caso.
Procurei… procurei… procurei muito por alguém que pudesse dizer: “Em lugar de usar DTOs use isto!”. E no meio dessa busca, achei o vRaptor. Mas logo me decepcionei, ao ver que a regra de negócio é implementada em uma classe diferente. O que faz com que eu tenha java Beans burros… o mesmo problema dos DTOs.
Alguém, enfim, poderia me ajudar?
Tenho uma aplicação web, quero usar algum framework pra fazer meu mvc. Mas quando vou usar o struts, sou obrigado a usar os FormBeans. Quando vou usar vRaptor, acontece o que acabei de escrever.
O que eu faço? O que uso?
Talvez eu tenha dito alguma besteira aí em cima… provavelmente…
Por isso estou aqui: Pra que a comunidade ajude a organizar as idéias. Depois de ler tantas threads sobre mvc, sobre não usar DTOs… fiquei com a mente meio bagunçada.
Estive lendo muita coisa sobre mvc aqui no guj. Acabei descobrindo que DTOs não são recomendadas, salvo em último caso.
Procurei… procurei… procurei muito por alguém que pudesse dizer: “Em lugar de usar DTOs use isto!”. E no meio dessa busca, achei o vRaptor. Mas logo me decepcionei, ao ver que a regra de negócio é implementada em uma classe diferente. O que faz com que eu tenha java Beans burros… o mesmo problema dos DTOs.
Alguém, enfim, poderia me ajudar?
Tenho uma aplicação web, quero usar algum framework pra fazer meu mvc. Mas quando vou usar o struts, sou obrigado a usar os FormBeans. Quando vou usar vRaptor, acontece o que acabei de escrever.
O que eu faço? O que uso?
Talvez eu tenha dito alguma besteira aí em cima… provavelmente…
Por isso estou aqui: Pra que a comunidade ajude a organizar as idéias. Depois de ler tantas threads sobre mvc, sobre não usar DTOs… fiquei com a mente meio bagunçada.
Agradeço desde já a atenção de vocês! Valeu!
Um framework MVC não interfere na maneira como vc monta o design do seu domínio. Possivelmente nos exemplos do VRaptor foram colocados apenas os set/get para facilidade na compreensão do exemplo, mas não signifca que vc não possa colcar suas regras de negócio junto das suas entidades. Na verdade, é altamente recomendado que vc coloque suas regras de negócios nos seus objetos do domínio ( http://martinfowler.com/bliki/AnemicDomainModel.html ).
Mas em suma, um framework MVC não interfere na maneira como vc modela o seu domínio.
Fabio_Kung
Exatamente isso. O VRaptor não força domínio anêmico nenhum. Pelo contrário, nós incentivamos que você construa um rich domain model.
Você não precisa separar a lógica de negócio nos Components do VRaptor. Pode (e deve) deixar a sua lógica de negócio no domínio. Os @Components do VRaptor atuam mais como uma Fachada para o seu domínio. Pelos conceitos do DDD poderiamos até dizer que eles entram no Service Layer. Servem para disparar a lógica de negócios no domínio e prover infra-estrutura.
pô o cara vem com uma dúvida básica, e mandam um link do spring para ele
essa foi de matar :lol:
Filipe_Chagas
Pessoal, muito obrigado pelo esclarecimento. Acho que agora deu pra entender melhor o que são os Components do vRaptor. Fabio Kung , me desculpe pela má interpretação do ótimo trabalho que vocês estão desenvolvendo. Mas minha intensão não foi criticar, apenas tirar minha dúvida.
Quero desde já parabenizá-los, equipe Caelum, pois este framework é excelente! Inclusive passarei a utilizá-lo e, quem sabe num futuro próximo, até ajudar no projeto se for aceito.
Obrigado também pela dica do Spring, parece ser uma excelente ferramenta também e, com certeza, vou procurar conhecer melhor!
Muito obrigado mesmo a todos!
Paulo_Silveira
frocchagas, aqui tem dois links legais pra voce:
falando mal do getter e setter, mas é laro que as vezes voce precisa deles:
como colocar mais responsabilidades nas suas entidades, em vez de delegar 100% pros services, atraves de repositorios:
Como disseram, nao é o vraptor que obriga voce a usar o DDD ou nao. Se voce pegou um exemplo que usamos so getters e setters, o exemplo é que foi fraco, nao o vraptor. Ja no struts é mais complicado: obrigar voce ser um form bean ja te amarra bastante…
Filipe_Chagas
Paulo, parece que os dois links são iguais…
Paulo_Silveira
editado primeiro link
gibaholms
Isso era uma bosta mesmo, mas o Struts 2 já está revendo isso.