Desenvolvendo Servlet e JSP.
Insiro dados num form escrito no JSP e pego seus dados no servlet.
Depois de tratar tais dados, qual a melhor forma de separar o servlet da lógica do negócio ?
O DAO é suficiente para tal separação ? Há algum outro pattern para isso ?
JSP => Servlet => Facade => Negócio => DAO
JSP: páginas que recebem requisições.
Servlet: Controller que recebem requisições e disponibiliza as respostas.
Facade: Padrão de Projeto, por onde todos os Objetos do Sistemas devem passar(recebem os objetos do Servlet e repassa para as Classes de Negócio)
Negócio: Irá tratar das regras e restrições do Sistema.
DAO: conjunto de Interfaces e Classes que irá receber os Objetos Persistentes e salvar no banco de dados.
[quote=wjava]Desenvolvendo Servlet e JSP.
Insiro dados num form escrito no JSP e pego seus dados no servlet.
Depois de tratar tais dados, qual a melhor forma de separar o servlet da lógica do negócio ?
O DAO é suficiente para tal separação ? Há algum outro pattern para isso ?[/quote]
Não. E você não deveria estar usando DAO.
Crie um dominio rico para isso, esqueça os BOs, TOs, DAOs. Coloque a logica dentro das classes junto com os dados. Use e abuse dos padrões Entity, Repository, Aggretate.
[quote=Alexsandro Lopes]JSP => Servlet => Facade => Negócio => DAO
JSP: páginas que recebem requisições.
Servlet: Controller que recebem requisições e disponibiliza as respostas.
Facade: Padrão de Projeto, por onde todos os Objetos do Sistemas devem passar(recebem os objetos do Servlet e repassa para as Classes de Negócio)
Negócio: Irá tratar das regras e restrições do Sistema.
DAO: conjunto de Interfaces e Classes que irá receber os Objetos Persistentes e salvar no banco de dados.[/quote]
Caramba, a resposta que eu queria logo no primeiro post de resposta.
Muito obrigado.
Ah, só mais uma pergunta, vi num projeto a utilização de facade.
Neste projeto utilizava-se também BusinessDelegate. Esse BusinessDelegate funciona da mesma forma que o facade, mas para a parte de persistência ? como uma camada de abstração entre a l´goica de negócios e a camada de persistência ?
Obrigado, pela resposta anterior.
Cara, não sei muito sobre BusinessDelegate mas acho que esses links podem ajudar:
http://www.guj.com.br/java/169203-business-delegate-e-session-facade
http://www.guj.com.br/java/19248-business-delegate-e-service-locator
http://www.guj.com.br/java/280373-business-delegate-e-facade