





Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Conceito das 3 camadas: Model , View e Controller. e seus Patterns
Tipologia: Notas de estudo
1 / 9
Esta página não é visível na pré-visualização
Não perca as partes importantes!






Trabalho apresentado a disciplina de linguagem de programação Orientado a Objetos para obtenção de nota referente à NP1. MANAUS - AM SETEMBRO DE 2009
Com o desenvolvimento e evolução dos programas e, consequentemente, da forma de se fazer os programas, novas abordagens tiveram que ser pensadas para facilitar a programação e garantir que os softwares, depois de prontos, fossem mais facilmente manuteníveis. A partir disso surgiu o conceito de dividir tarefas, de garantir com que cada “camada” da aplicação tenha seu próprio escopo e definição e que a comunicação entre todas elas se dê de maneira eficiente e controlada. A partir disso surgiram vários padrões de desenvolvimento, dentre um deles o MVC. MVC é um padrão de arquitetura de software que representa a separação dos dados: lógica de aplicação (model) e da interface com o usuário (view),com um controlador fazendo o papel de intermediário entre os dois (controller), foi desenvolvido em 1979 por Trygve M.H Reenskaug com a solução para o problema geral de oferecer aos usuários controle sobre suas informações a partir de múltiplas perspectivas ,e foi usado pela primeira vez no Smalltalk (linguagem de programação orientada a objetos). MVC pode ser entendido como uma divisão de tarefas em um aplicativo.
Arquitetura MVC Em um projeto de software baseado no padrão MVC, define-se uma arquitetura básica de três camadas possivelmente abstratas ilustrado na figura abaixo e que detalharemos logo em seguida:
E uma camada que manipula e modela os dados gerenciando o comportamento o domínio da aplicação. Esta também estabelece as regras de negocio, descreve como gerenciar o acesso e a modificação dos dados mantendo o modelo no estado persistente do negocio e fornece ao controlador a capacidade de acessar as funcionalidades da aplicação encapsuladas pelo próprio modelo. Sendo então o modelo um conjunto de dados armazenados frequentemente e relacionado a um banco de dados, o qual se preocupa apenas com o armazenamento, manipulação e geração de dados. O acesso a seu conteúdo acontece através do controlador e dependendo da requisição do controlador o modelo exprime o resultado na view, o modelo apenas encaminha os dados requeridos, não tendo uma troca continua de informações com a view, tornando o acesso ao modelo disponível para mais de uma view. Além dessas qualidades do modelo ainda temos técnicas para melhor aproveitamento dessa camada como por exemplo o uso de cachês dinâmicos que consiste no armazenamento dos identificadores das instâncias da classe de informação (CI) recuperadas da base de dados, e outro e a técnica multi-resolução para representar alguma instância da CI do domínio composto de linhas poligonais. O modelo e geralmente armazenado em banco de dados ou arquivos XML.
É responsável pela camada de apresentação com usuário, é a interação gráfica, esta camada também disponibiliza a entrada de dados para o model mas não deve conter
Visualização da interfaces e composta por vários componentes, por exemplo, ao solicitar um evento está requisição e direcionada ao componente de mais alto nível distribuindo a requisição aos componente responsáveis até chegar no controlador.
Na camada do controlador o padrão usado e denominado de strategy. Este pelo próprio nome referisse a uma estratégia que o controlador utiliza com a visualização. Dessa forma a visualização e responsável apenas por si mesma, seus aspectos visuais, pois em relação a decisões sobre o comportamento da interface como ativar uma função são delegados ao controlador, mantendo a visualização desconectada do modelo, cabendo ao controlador a iteração da view com o model. O controlador organiza o MVC por meio de métodos, decisões e estratégias para que as ações requeridas pelo usuário sejam atendidas, assim a interface preocupa-se apenas em exibir os dados.
Na camada model o observer é o padrão indicado, pois permite a separação a visão do estado de um objeto do Próprio objeto, permitindo que sejam fornecidas visões alternativas mantendo os objetos interessados (dados) constantemente informados sobre qualquer modificação. A utilização desse padrão mantém o modelo totalmente independente da visualização e controlador, permitido utilizar múltiplas visualizações ao mesmo tempo. Abaixo uma ilustração demonstrando o funcionamento da MVC e dos seus patterns.
Podemos concluir com os estudos sobre o padrão MVC que, sua arquitetura oferece aos programadores e projetistas uma clara separação entre os elementos, com o intuito de dividir as responsabilidades da equipe desenvolvedora, reutilizando códigos fontes e facilitando a manutenção do sistema.