>> 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.
 
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!
 
>> 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'
Concordo plenamente.
 
>> 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 você chama de objeto DAO é o que me referi anteriormente como classe especial (manager).

>>, o que facilita a
>> manutenção, evolução, organização e escalabilidade da sua aplicação.

>Isso sim.
 
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).
 
>> 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
 
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.
 
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 -----
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