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
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
MV“Qualquer tolo consegue escrever código que um
computador entenda. Bons programadores
escrevem código que humanos possam entender”.
(Martin Fowler, 2004)
“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)
O MVC pode ser visto
como um padrão de
projeto composto,
utilizando os designs
patterns Observer,
Composite e Strategy.
Os Objetos
Modeloscontém os dados e a lógica do
aplicativo..
O modelodeve
notificartodos os objetos
que dependem de seu estado quando
algum dado é alterado. É nesse
contesto que o padrão
observeré aplicado.
A visão
Viewé a
representação do modelo
gerando a saída gráfica de
forma adequada do usuário.
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.
O controlador
Controllerfaz a mediação entre as camadas, interpretando a
entrada de dados e gerenciando o modelo e a
visão.
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..
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.
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.
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”.
O MVC pode ser ampliado
Utilizar os padrões de criação para instanciar objetos do projeto.
Aplicar o padrão Adapterpara 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...
Dúvidas?
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.
Obrigado

Entendendo a Tríade Model-View-Controller (MVC) utilizando padrões de projeto de software orientado a objetos

  • 1.
    ENTENDENDO A TRÍADEMODEL-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çãoOrientada 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 consegueescrever código que um computador entenda. Bons programadores escrevem código que humanos possam entender”. (Martin Fowler, 2004)
  • 5.
    “Um padrão deprojeto 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)
  • 6.
    O MVC podeser visto como um padrão de projeto composto, utilizando os designs patterns Observer, Composite e Strategy.
  • 7.
    Os Objetos Modeloscontém osdados e a lógica do aplicativo..
  • 8.
    O modelodeve notificartodos osobjetos que dependem de seu estado quando algum dado é alterado. É nesse contesto que o padrão observeré aplicado.
  • 10.
    A visão Viewé a representaçãodo modelo gerando a saída gráfica de forma adequada do usuário.
  • 11.
    Visões utilizam o Composite paraa 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.
  • 13.
    O controlador Controllerfaz amediação entre as camadas, interpretando a entrada de dados e gerenciando o modelo e a visão.
  • 14.
    A relação entrea 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..
  • 16.
    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.
  • 17.
    O MVC foiadaptado 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.
  • 18.
    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”.
  • 19.
    O MVC podeser ampliado Utilizar os padrões de criação para instanciar objetos do projeto. Aplicar o padrão Adapterpara 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...
  • 20.
  • 21.
    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.
  • 22.