"Rodrigo Fernandes" <[EMAIL PROTECTED]> wrote on 26/08/2002 06:38:39:

> A sua abordagem está correta. A preocupação aqui era apenas de fazer
> com que ele não colocasse as SQLs nas páginas e nem nos
> controladores. Se você acha melhor ter uma classe especial (alguns
> chamam de manager) para executar as SQLs e carregar os campos
> obtidos no objeto de modelo, ótimo!


A ideia de 'manager' se refere mais ao Session Façade Pattern e Business Delegate Design pattern aonde por exemplo um 'ClientManager' (neste caso ClientManagerServlet) é uma classe que concentra o 'business logic' necessario para gerenciar clientes do tipo CRUD Clientes e despaca por exemplo os requisitos de CRUD´s de Contatos ou Telefones etc. Ma concorda que, mesmo num app JSP Model 1 não seria bom incluir código Java nos JSP que trabalha com coisas complexas que JDBC.


>  
> Não é o fato de ter um objeto especial (DAO) fazendo acesso a base
> de dados (e não o próprio objeto) que fará com que você alcance tais
> atributos de qualidade. Manuteção e organização dizem respeito a
> separação de responsabilidades (Modelo, Vista, Controle), enquanto
> evolução e escalabilidade dizem respeito ao baixo acoplamento obtido
> (o que diz respeito a utilização do padrão [genérico]...e não de
> detalhes sobre a sua implementação).


O padrão que vc mencionou, não é exatamente o padrão, o model não devia ser responsavel por fazer CRUD´s no DB. O model é o estado do objeto. Assim seria uma implementação 'simplificada' do MVC igual ou similar a maneira implementada no SWING mas invertido (Em SWING o V e C é o mesmo componente chamado o UIDelegate. De QQ forma é o controler que é responsavel por reagir nos eventos e fazer update no model e o model para passar os dados.

> Mais uma vez, o struts é uma implementação do padrão MVC. Existem
> outras. O importante é entender de forma geral quais os benefícios
> da utilização dele e como pode ser implementado.


Na verdade Struts é uma implementação de MVC-2 que é uma adaptação de MVC para aplicações Web.

>  
> Rodrigo Fernandes
>  
> Improve It - www.improveit.com.br
> Applied Software Engineering
> Rodrigo de Brito, 13 - Botafogo
> Rio de Janeiro, RJ, 22280-100
> (21) 2542-9968
> (21) 9228-5434

>  
> ----- Original Message -----
> From: [EMAIL PROTECTED]
> To: [EMAIL PROTECTED]
> Sent: Monday, August 26, 2002 10:51 AM
> Subject: Re: [java-list] Forma Correta Jsp+Servlet
>
>
>
> > uma possibilidade para resolver essa questão arquitetural é utilizar
> > o padrão MVC (Modelo, Vista, Controle). Nesse caso, a página JSP
> > seria a Vista, o Controlador pode ser um servlet e o Modelo um
> objeto comum.
> >  
> > Ao Modelo (objeto comum) cabe fazer acesso a base de dados.
>
> O model é responsavel para o conceito a ser mostrado ou manipulado
> ou seja, ele é responsavel para manter o 'estado' no caso de um
> formulário web que mostra os dados do cliente ele seria o Cliente.
> class contendo os valores dos fields e não o sql para obter-los.
>
> > Ao Controlador (servlet) cabe executar as ações necessárias para
> > enviar as informações (objetos de modelo) para o JSP.
>
> O controlador poderia ser um servlet, ele é responsavel por:
>  - attender ao request
>  - preenchimento do 'model'
>  - selecionar o 'view'
>
>
> > À Vista (JSP) cabe apresentar as informações necessárias na tela.
> O View é responável para mostrar os dados mo modelo.
>
>
> >  
> > Dessa forma, todas as suas sqls estarão localizadas nas classes que
> > fazem acesso a base de dados (objetos de modelo)
> Não o SQl terá que ser localizado em objetos DAO, que devolvem o 'model'.
>
> , o que facilita a
> > manutenção, evolução, organização e escalabilidade da sua aplicação.
> Isso sim.
>
> >  
> > Para saber mais detalhes sobre a aplicação do padrão MVC em Java,
> > acesse o link abaixo:
>
>
> A verdade é que applicações Web não se adaptam bem ao modelo MVC,
> por isso foi inventado o MVC-2. Um bom exemplo disso é :
> http://rollerjm.free.fr/images/ClassStrutsMVC2.gif e
> http://rollerjm.free.fr/pro/Struts.html

Responder a