Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ENTENDENDO A TRÍADE MODEL-VIEW-CONTROLLER (MVC)...

ENTENDENDO A TRÍADE MODEL-VIEW-CONTROLLER (MVC) UTILIZANDO PADRÕES DE PROJETO DE SOFTWARE ORIENTADO A OBJETOS

A proposta para este projeto de pesquisa é apresentar o modelo de desenvolvimento de software orientado a objetos denominado MVC (Model-View-Controller) como um padrão de projeto composto, utilizando os designs patterns Observer, Composite e Strategy. A utilização do modelo de desenvolvimento MVC no desenvolvimento de softwares, têm-se apresentado com uma ferramenta interessante quando se pensa em produtividade e padronização de metodologias aplicadas na elaboração de projetos de diversos portes. Seu objetivo é definir as responsabilidades de seus participantes e demostrar como ocorrem suas relações. Para o desenvolvimento, será realizado um levantamento bibliográfico, agregando as principais ideias apresentadas em livros e artigos publicados ao longo do tempo, resultando na melhor compreensão de sua arquitetura e definição das vantagens e desvantagens de sua aplicação. Este trabalho demonstrará as características desta metodologia primeiramente através de um estudo das componentes que formam o MVC e apresentará uma simulação da utilização e criação de um projeto utilizando esta metodologia através de uma linguagem de programação orientada a objetos.
Projeto Apresentado no congresso nacional de inicialização cientifica (CONIC) de 2013.

Avatar for Lucas Furtado de Oliveira

Lucas Furtado de Oliveira

March 15, 2014

More Decks by Lucas Furtado de Oliveira

Other Decks in Technology

Transcript

  1. ENTENDENDO A TRÍADE MODEL-VIEW- CONTROLLER (MVC) UTILIZANDO PADRÕES DE PROJETO

    DE SOFTWARE ORIENTADO A OBJETOS Lucas Furtado de Oliveira Prof. Fernando Salles Claro Faculdade Anhanguera de Taubaté Ciência da Computação
  2. POO Princípios de Como Utilizá-los? Programação Orientada a Objetos 

    Encapsulamento  Utilizar composição em vez da herança  Programação para interface  Fraco acoplamento  Aberto / Fechado  Abstrações  Princípio de hollywood  Responsabilidade única
  3. MV ᾿ Qualquer tolo consegue escrever código que um computador

    entenda. Bons programadores escrevem código que humanos possam entender῀ . (Martin Fowler, 2004)
  4. ᾿ Um padrão de projeto de software nomeia, abstrai e

    identifica os aspectos-chave de uma estrutura de projeto comum para torná-lo útil para a criação de um projeto orientado a objetos reutilizável. O padrão de projeto identifica as classes e instâncias participantes, seus papeis, colaborações e as distribuição de responsabilidades.῀ (GAMMA, 1995)
  5. O MVC pode ser visto como um padrão de projeto

    composto, utilizando os designs patterns Observer, Composite e Strategy.
  6. O modelo deve notificar todos os objetos que dependem de

    seu estado quando algum dado é alterado. É nesse contesto que o padrão observer é aplicado.
  7. A visão View é a representação do modelo gerando a

    saída gráfica de forma adequada do usuário.
  8. Visões utilizam o Composite para a criação de interfaces gráficas

    para o usuário, utilizando componentes, como painéis, caixa de textos, entre outros, formando várias partes alinhadas, mas ao ser exibida é interpretada como um todo.
  9. O controlador Controller faz a mediação entre as camadas, interpretando

    a entrada de dados e gerenciando o modelo e a visão.
  10. A relação entre a visualização e o controlador utiliza o

    padrão Strategy , que consiste em definir uma família de algoritmos e encapsula-los, permitindo assim que o algoritmo varie sem interferir na implementação dos clientes. .
  11. O MVC é utilizado para criação de aplicações, como na

    plataforma Android. As Activitys são responsáveis por controlar os eventos e definir qual Visão será apresentada. Subclasses de android.view. View são utilizadas para criar componentes visuais e gerenciadores de layout, podendo ser definidos por arquivos XML. Modelos podem ser implementados com classes Java tradicionais.
  12. O MVC foi adaptado para atuar no modelo browser/servidor, sendo

    uma das implementações mais comuns denominado Modelo 2, utilizando as tecnologias Enterprise JavaBeans(EJB), JSP e Servlets.
  13. Frameworks Schimidt et al. (2004) ᾿ ..um conjunto integrado de

    artefatos de software (como classes, objetos e componentes) que colaboram para fornecer uma arquitetura reusável para uma família de aplicações relacionadas῀ .
  14. O MVC pode ser ampliado Utilizar os padrões de criação

    para instanciar objetos do projeto. Aplicar o padrão Adapter para adaptar visão à controladores ou modelos. Adicionar funcionalidades com o padrão Decorator. Centralizar as requisições a uma aplicação Web com Front Controller. Utilize a imaginação...
  15. Referências ῆ BURBECK, Steve; Applications Programming in Smalltalk-80 (TM): How

    to use Model-View-Controller (MVC); DisponŒvel em: <http://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html> . Acesso em: 06/01/2013. ῆ DEITEL, Harvey M.; DEITEL, Paul J.; SANTRY, Sean E.. Advanced Java 2 Platform How to Program . New Jersey: Prentice Hall, 2001. 1496 p. ῆ DEITEL, Harvey M.; DEITEL, Paul J.. Java - como programar. 6. ed. S√o Paulo: Pearse Education, 2005. ῆ FREEMAN, Eric; FREEMAN, Elisabeth. Use a cabe«a! padr÷es de projeto: Design Patterns. 2. ed. S√o Paulo: Alta Books, 2007. ῆ GAMMA, Eric. et al. Padr÷es de projeto - solu«÷es reutiliz¡veis de software orientado a objetos. S√o Paulo: Bookman, 2000. ῆ LECHETA, Ricardo R.. Google Android: Aprenda a criar aplica«÷es para dispositivos m‘veis com o Android SDK. 3 ed. S√o Paulo: Novatec, 2013. ῆ SIERRA, Kath; BASHAM, Brian. Use a cabe«a! servlet e jsp. S√o Paulo: Alta Books, 2008. ῆ SOMMERVILLE, Ian. Engenharia de Software. 9 ed. S√o Paulo: Person Hallm 2011.