Escolar Documentos
Profissional Documentos
Cultura Documentos
http://www.macoratti.net/vbn_mvc.htm
Aplicaes em duas camadas A necessidade de compartilhar a lgica de acesso a dados entre vrios usurios simultneos fez surgir as aplicaes em duas camadas. Nesta estrutura a base de dados foi colocada em uma mquina especfica, separada das mquinas que executavam as aplicaes. Nesta abordagem temos aplicativos instalados em estaes clientes contendo toda a lgica da aplicao (clientes ricos ou gordos). Um grande problema neste modelo o gerenciamento de verses pois para cada alterao os aplicativos precisam ser atualizados em todas as mquinas clientes.
Aplicaes em trs camadas Com o advento da internet houve um movimento para separar a lgica de negcio da interface com o usurio. A
1 de 3
2/8/2011 18:44
http://www.macoratti.net/vbn_mvc.htm
idia que os usurios da WEB possam acessar sa mesmas aplicaes sem ter que instalar estas aplicaes em suas mquinas locais. Como a lgica do aplicativo , inicialmente contida no cliente rico no reside mais na mquina do usurio este tipo de cliente passo a ser chamado de cliente pobre ou magro.(thin). Neste modelo o aplicativo movido para o Servidor e um navegador Web usado como um cliente magro. O aplicativo executado em servidores Web com os quais o navegador Web se comunica e gera o cdigo HTML para ser exibido no cliente.
Neste modelo a lgica de apresentao esta separada em sua prpria camada lgica e fsica.A separao em camadas lgicas torna os sistemas mais flexveis permitindo que as partes possam ser alteradas de forma independente. As funcionalidades da camada de negcio podem ser divididas em classes e essas classes podem ser agrupadas em pacotes ou componentes reduzindo as dependncias entre as classes e pacotes ; podem ser reutilizadas por diferentes partes do aplicativo e at por aplicativos diferentes. O modelo de 3 camadas tornou-se a arquitetura padro para sistemas corporativos com base na Web. A modelagem orientada a objetos ajuda a promover a modularidade pois os objetos encapsulam seus dados (propriedades , estados) e oferecem funcionalidades atravs de seus mtodos. Projetando-se de forma adequada os objetos podem ter reduzidas as dependncias entre si ficando assim fracamente acoplados e sero mais fceis de manter e evoluir. O padro MVC O modelo de trs camadas fiscas ( 3-tier ) divide um aplicativo de modo que a lgica de negcio resida no meio das trs camadas fsicas. Isto chamado de camada fsica intermediria ou camada fsica de negcios. A maior parte do cdigo escrito reside na camada de apresentao e de negcio. A arquitetura MVC - (Modelo Visualizao Controle) fornece uma maneira de dividir a funcionalidade envolvida na manuteno e apresentao dos dados de uma aplicao. A arquitetura MVC no nova e foi originalmente desenvolvida para mapear as tarefas tradicionais de entrada , processamento e sada para o modelo de interao com o usurio. Usando o padro MVC fica fcil mapear esses conceitos no domnio de aplicaes Web multicamadas. Na arquitetura MVC o modelo representa os dados da aplicao e as regras do negcio que governam o acesso e a modificao dos dados. O modelo mantm o estado persistente do negcio e fornece ao controlador a capacidade de acessar as funcionalidades da aplicao encapsuladas pelo prprio modelo. Um componente de visualizao renderiza o contedo de uma parte particular do modelo e encaminha para o controlador as aes do usurio; acessa tambm os dados do modelo via controlador e define como esses dados devem ser apresentados. Um controlador define o comportamento da aplicao , ele que interpreta as aes do usurio e as mapeia para chamadas do modelo. Em um cliente de aplicaes Web essas aes do usurio poderiam ser cliques de botes ou selees de menus. As aes realizadas pelo modelo incluem ativar processos de negcio ou alterar o estado do modelo. Com base na ao do usurio e no resultado do processamento do modelo , o controlador seleciona uma visualizao a ser exibida como parte da resposta a solicitao do usurio. H normalmente um controlador para cada conjunto de funcionalidades relacionadas. A arquitetura de 3 camadas que esta representada abaixo uma implementao do modelo MVC . O modelo MVC esta preocupado em separar a informao de sua apresentao.
2 de 3
2/8/2011 18:44
http://www.macoratti.net/vbn_mvc.htm
Camada de apresentao ou visualizao - No esta preocupada em como a informao foi obtida ou onde ela foi obtida apenas exibe a informao. inclui os elementos de exibio no cliente : HTML , XML , ASP , Applets . a camada de interface com o usurio. usada para receber a entrada de dados e apresentar o resultado Camada de lgica da Aplicao - o corao da aplicao . Responsvel por tudo que a aplicao vai fazer. modela os dados e o comportamento por atrs do processo de negcios se preocupa apenas com o armazenamento , manipulao e gerao de dados um encapsulamento de dados e de comportamento independente da apresentao. Camada de Controle - determina o fluxo da apresentao servindo como uma camada intermediria entre a camada de apresentao e a lgica. controla e mapeia as aes Vantagens do modelo MVC :
1. Como o modelo MVC gerencia mltiplos visualizadores usando o mesmo modelo fcil manter , testar e 2. 3. 4.
atualizar sistemas mltiplos muito simples incluir novos clientes apenas incluindo seus visualizadores e controles Torna a aplicao escalvel possvel ter desenvolvimento em paralelo para o modelo , visualizador e controle pois so independentes.
1. Requer uma quantidade maior de tempo para analizar e modelar o sistema 2. Requer pessoal especializado 3. No aconselhvel para pequenas aplicaes
No prximo artigo vou mostrar como implementar o modelo MVC em uma aplicao VB.NET em 3 camadas. Acompanhe a continuao no link : VB.NET - Criando uma aplicao em 3 camadas ( MVC ) At o prximo artigo. Aguarde...
3 de 3
2/8/2011 18:44