Sim, mas no que tange à Persistência ela é considerada dentro da
camada Model normalmente.

Bom isso é discussão mais semântica que qualquer outra coisa, eu
pessoalmente prefiro pensar em 5 camadas de uma forma um pouco
diferente:

View - GUI mesmo, o que o usuário tem para interagir com o sistema.
Algumas validações de dados entram aqui para reduzir a carga de
comunicação cliente-servidor com mensagens de erro simples, mas a
validação mesmo é dada do lado do servidor

Communication - Tem que ter uma camada que controle a parte de
comunicação, e não falo aqui sobre o uso de redes TCP/IP ou IPX, mas
sobre a comunicação Cliente-Servidor através do uso de algum proxy. De
repente pode até ser direto com o banco de dados, ou pode ser por
WebServices XML, ou qualquer outro formato, mas é uma camada à parte e
tem que ser tratada à parte, não pode ser deixada apenas na mão do
protocolo de rede. O dado chegou correto? É realmente do cliente ou
houve intervenção? Qual a garantia de integridade desses dados? Etc
etc etc.

Control - Fluxo do programa, validações, comunicações entre os
serviços habilitados, etc.

Model - regras de negócio (integridades referênciais e associações).

Persistência - Camada à parte, pois interage com o repositório de
dados (normalmente um banco) e envia e recebe dados e mensagens do
repositório. Uma mensagem de erro gerada aqui, é repassada para a
Model, que repassa para o Controle, que é transmitida pela
Communication e interpretada pela View em um efeito bolha.

Bom, eu gosto de pensar em desenvolvimento de sistemas assim.

Fonte: eu mesmo (uma grande mistureba do antes, depois, agora, e daqui
há pouco da minha vida).

Um abc

Em 08/02/08, Eduardo Bobsin Machado<[EMAIL PROTECTED]> escreveu:
> Pablo,
>
> MVC é um padrão arquitetural [1]. Não se refere diretamente às camadas do
> sistema (tiers).
> A questão de camadas nem sempre é bem clara, ficando sempre aberta a
> interpretações diferentes. Numa aplicação web (que geralmente é multicamadas
> [2]), por exemplo, pode-se considerar o seguinte:
> 1) Camada de apresentação: framework web (onde geralmente estão o view e o
> controller)
> 2) Camada de aplicação/negócio: regras de negócio, inteligência da aplicação
> (model)
> 3) Camada de persistência: comunicação com o banco, lógica de persistência,
> SQLs, Hibernate e assemelhados, etc
>
> Ainda podem ser consideradas outras camadas. Depende do humor do sujeito...
> :)
> 4) Camada cliente: browser
> 5) Camada de dados: o próprio DBMS
>
> [1] http://en.wikipedia.org/wiki/Model-view-controller
> [2] http://en.wikipedia.org/wiki/Multitier_architecture
>
> Abraço,
>
> Eduardo Bobsin Machado
> ________________________________
>
> Human Mobile - Torpedos SMS
> www.human.com.br
> mail:    [EMAIL PROTECTED]
> phone:   51 3346 8282
>
> > -----Original Message-----
> > nuss... agora quem ficou sem entender fui eu. Amigo, três camadas se
> > referem a View (Interface) Controle (Fluxo da aplicação, seus dados e
> > processos) e Modelo (Objetos que tem associações entre eles). A camada
> > de persistência faz parte do Modelo, então o Banco está no Modelo, mas
> > pode ser tratado apenas como respositório mesmo, e os objetos tratarem
> > todas as validações de referências.
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a