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
