You are on page 1of 9

UNIP UNIVERSIDADE PAULISTA

MVC

PAULO EWERTON SILVA DE ARAJO LAURO LUIZ MARIA GATO JUNIOR CLAYTON MELO

MANAUS AM SETEMBRO DE 2OO9


1

MVC
PAULO EWERTON SILVA DE ARAJO LAURO LUIZ CLAYTON MELO

Trabalho apresentado a disciplina de linguagem de programao Orientado a Objetos para obteno de nota referente NP1.

MANAUS - AM SETEMBRO DE 2009


2

SUMRIO

1. 2.

INTRODUO............................................................................................... Pg.4 ARQUITETURA MVC.................................................................................. Pg.5

2.1 Model 2.2 View 2.3 Controller 3 PATTERNS..................................................................................................... Pg.6 3.1 Composite 3.2 Strategy 3.3 Observer 4. 5. CONCLUSO................................................................................................. Pg.8 REFERENCIAS.............................................................................................. Pg.9

Introduo

Com o desenvolvimento e evoluo dos programas e, consequentemente, da forma de se fazer os programas, novas abordagens tiveram que ser pensadas para facilitar a programao e garantir que os softwares, depois de prontos, fossem mais facilmente manutenveis. A partir disso surgiu o conceito de dividir tarefas, de garantir com que cada camada da aplicao tenha seu prprio escopo e definio e que a comunicao entre todas elas se d de maneira eficiente e controlada. A partir disso surgiram vrios padres de desenvolvimento, dentre um deles o MVC. MVC um padro de arquitetura de software que representa a separao dos dados: lgica de aplicao (model) e da interface com o usurio (view),com um controlador fazendo o papel de intermedirio entre os dois (controller), foi desenvolvido em 1979 por Trygve M.H Reenskaug com a soluo para o problema geral de oferecer aos usurios controle sobre suas informaes a partir de mltiplas perspectivas ,e foi usado pela primeira vez no Smalltalk (linguagem de programao orientada a objetos). MVC pode ser entendido como uma diviso de tarefas em um aplicativo.

Arquitetura MVC

Em um projeto de software baseado no padro MVC, define-se uma arquitetura bsica de trs camadas possivelmente abstratas ilustrado na figura abaixo e que detalharemos logo em seguida:

Model
E uma camada que manipula e modela os dados gerenciando o comportamento o domnio da aplicao. Esta tambm estabelece as regras de negocio, descreve como gerenciar o acesso e a modificao dos dados mantendo o modelo no estado persistente do negocio e fornece ao controlador a capacidade de acessar as funcionalidades da aplicao encapsuladas pelo prprio modelo. Sendo ento o modelo um conjunto de dados armazenados frequentemente e relacionado a um banco de dados, o qual se preocupa apenas com o armazenamento, manipulao e gerao de dados. O acesso a seu contedo acontece atravs do controlador e dependendo da requisio do controlador o modelo exprime o resultado na view, o modelo apenas encaminha os dados requeridos, no tendo uma troca continua de informaes com a view, tornando o acesso ao modelo disponvel para mais de uma view. Alm dessas qualidades do modelo ainda temos tcnicas para melhor aproveitamento dessa camada como por exemplo o uso de cachs dinmicos que consiste no armazenamento dos identificadores das instncias da classe de informao (CI) recuperadas da base de dados, e outro e a tcnica multi-resoluo para representar alguma instncia da CI do domnio composto de linhas poligonais. O modelo e geralmente armazenado em banco de dados ou arquivos XML.

View
responsvel pela camada de apresentao com usurio, a interao grfica, esta camada tambm disponibiliza a entrada de dados para o model mas no deve conter
5

tratamento de dados ou cdigos relacionados as regras de negocio, pois todo processamento e realizado pelo model e ento enviado a a janela. A view no est ciente da sua fonte que vem os dados, apenas exibe a informao no visualizador, um exemplo de view e no uso da web, o qual est camada e representada pelo html que e mostrado pelo browser .

Controller
Ou conhecido tambm por camada de controle, serve como uma camada intermediaria entre a view e o model, mapeando e controlando as aes, executa a maior conjunto de tarefas cabendo a ela fazer a interface com todo o conjunto de componentes da arquitetura, desde o canvas at o sgbd. O utilizador (usurio) ao solicitar um evento pela view e o controlador que realiza a validao dos dados, onde os valores declarados pelos usurios so filtrados. Na pratica o controlador o cdigo que gera os dados dinmicos para dentro do html.

Patterns
O MVC uma estrutura para desenvolver a arquitetura de um aplicativo ou software podendo ser simples ou complexa, separando a aplicao da lgica em camadas, mas essa camadas necessitam seguir regras ou padres para o seu perfeito funcionamento. Esses padres conhecidos como Patterns. Esses padres dependem do que o programa necessitar fazer, por exemplo a citao de dois mtodos no muito usados como o Factory Method onde ele especifica por falta (By Default) a classe controladora para a viso e o Decator usado no acrscimo de um dispositivo de rolagem (scrolling), porm os usados pelo MVC so trs: Composite, Strategy e Observer, trataremos de cada um a parti de agora.

Composite
O padro Composite e aplicado na camada view, trata-se de um padro estruturado responsvel na forma como as classes e objetos so compostos para formar estruturas maiores. Este padro descreve como construir uma hierarquia de classe composta para dois tipos: primitivo e composta.

Visualizao da interfaces e composta por vrios componentes, por exemplo, ao solicitar um evento est requisio e direcionada ao componente de mais alto nvel distribuindo a requisio aos componente responsveis at chegar no controlador.

Strategy
Na camada do controlador o padro usado e denominado de strategy. Este pelo prprio nome referisse a uma estratgia que o controlador utiliza com a visualizao. Dessa forma a visualizao e responsvel apenas por si mesma, seus aspectos visuais, pois em relao a decises sobre o comportamento da interface como ativar uma funo so delegados ao controlador, mantendo a visualizao desconectada do modelo, cabendo ao controlador a iterao da view com o model. O controlador organiza o MVC por meio de mtodos, decises e estratgias para que as aes requeridas pelo usurio sejam atendidas, assim a interface preocupa-se apenas em exibir os dados.

Observer
Na camada model o observer o padro indicado, pois permite a separao a viso do estado de um objeto do Prprio objeto, permitindo que sejam fornecidas vises alternativas mantendo os objetos interessados (dados) constantemente informados sobre qualquer modificao. A utilizao desse padro mantm o modelo totalmente independente da visualizao e controlador, permitido utilizar mltiplas visualizaes ao mesmo tempo. Abaixo uma ilustrao demonstrando o funcionamento da MVC e dos seus patterns.

Concluso

Podemos concluir com os estudos sobre o padro MVC que, sua arquitetura oferece aos programadores e projetistas uma clara separao entre os elementos, com o intuito de dividir as responsabilidades da equipe desenvolvedora, reutilizando cdigos fontes e facilitando a manuteno do sistema.

REFERNCIAS

METSKER, Steven John. Padres de projetos em Java. Porto Alegre: Bookman, 2004 GAMMA, Erich et al. Padres de projetos: Solues reutilizveis de software Orientado a Objetos. Porto Alegre: Bookman,2000. SOMMERVILLE, Ian. Engenharia de Software. So Paulo: Addison Wesley, 2003. MACORATTI, Jos Carlos Ttulo: Padres de Projeto: O modelo MVC, Disponvel em: www.macoratti.net/vbn_mvc.htm. CAVALCANTI, Marcus Ttulo: Arquitetura MVC, Disponvel em: http://www.revistaphp.com.br/artig.php?id=50

You might also like