Você está na página 1de 17

Padro MVC

Prof. Paulo Henrique

MODEL-VIEW- CONTROLLER

MVC Model-View-Controller
Padro arquitetural Proposto em 1979 por Trygve Reenskaug Evoluo da Arquitetura em Camadas

2- Tier => Dados Separados 1- Tier =>Tudo Junto!


3- Tier => Apresentao Separada da Lgica de Negcio

MVC- Contexto
Complicaes do 3-Tier
Uma mesma aplicao pode possuir diferentes vises dos seus dados e servios Navegadores distintos, acesso mvel Controle de Acesso, Personalizao O modelo dos dados pode evoluir e no se deseja afetar a suas diversas formas de visualizao Vises distintas querem possuir dados atualizados

MVC Model-View-Control
Diviso da aplicao em trs grandes componentes: Model
define e gerencia o domnio da informao notifica observadores sobre mudanas nos dados.

View
Representa a camada de apresentao dos dados e pode possuir vrias verses distintas

Controller
Realiza a comunicao e encapsula a comunicao entre o modelo e a viso adequada Atualiza o modelo

MVC Estrutura
Mtodos Eventos

MVC Model (Modelo)


Representa a camada de regra de negcios e encapsula os dados Representa as estruturas de dados e as operaes que atuam nestes dados Contm o estado corrente da aplicao Em uma aplicao orientada a objetos, constitui as classes de objetos da aplicao que implementam as funcionalidades da aplicao Operao de saque Saque e atualizao do saldo da conta de um usurio estariam neste componente

MVC Viso (View)


Recebe a entrada de dados dos usurios e os eventos de interao Implementam exclusivamente a lgica de apresentao dos dados em um formato apropriado para os usurios. A mesma informao pode ser apresentada de maneiras diferentes Grupos de usurios com requisitos diferentes

MVC Controller (Controlador)


responsvel pelo fluxo da aplicao Interpreta os eventos vindos dos usurios (repassados pelas View) e define como que mtodos do modelo sero chamados Funciona como um mediador entre a camada View e o modelo ele, portanto, que permite a adio de novas View distintas

MVC Estrutura

MVC e a Web
Complicaes do 3-Tier
Uma mesma aplicao pode possuir diferentes vises dos seus dados e servios Navegadores distintos, acesso mvel Controle de Acesso, Personalizao O modelo dos dados pode evoluir e no se deseja afetar a suas diversas formas de visualizao Vises distintas querem possuir dados atualizados

MVC e a Web

MVC e a Web
O trio Servlet-JSP-Beans com MVC Possibilitou uma arquitetura extensvel e com clara separao dos interesses

MVC e Web - Frameworks existentes


Diversos frameworks nasceram para facilitar a configurao e a implementao do MVC para Web ActionScript 3
PureMVC .NET ASP.NET MVC - oficial da Microsoft Java Apache Struts Spring MVC JSF PHP Zend Framework Ruby Ruby on Rails

Implementando MVC com JSP/Servlet


Cliente Browser Web JSP Implementa a camada de Viso Servlet Recebe e processa a requisio. Instancia o controlador correspondente requisio BD - Implementa o modelo. Fornece os mtodos responsveis por acessar o banco de dados, inserir e recuperar valores

Implementando MVC com JSP/Servlet


Implementando o Modelo Criar uma classe que encapsule o acesso a uma tabela do banco de dados Geralmente feito utilizando-se o padro DAO (Data Access Object) Esse padro gerencia a conexo e manipula registros no banco de dados

Implementando MVC com JSP/Servlet


Implementando o Controlador Criar um servlet controlador para cada entidade relevante no banco Possui mtodos de CRUD da entidade a que ele corresponde Implementando a Viso Criar JSPs que chame o servlet controlador especfico, passando como parmetro a ao desejada

Você também pode gostar