O documento discute o padrão de projeto Model-View-Controller (MVC), explicando suas partes principais: o modelo contém a lógica e dados da aplicação, a visão gera a interface gráfica e o controlador faz a mediação entre o modelo e a visão. O MVC promove alto acoplamento e reutilização, sendo usado em frameworks como Android.
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Entendendo a Tríade Model-View-Controller (MVC) utilizando padrões de projeto de software orientado a objetos
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.
5. “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)
6. O MVC pode ser visto
como um padrão de
projeto composto,
utilizando os designs
patterns Observer,
Composite e Strategy.
11. 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.
12.
13. O controlador
Controllerfaz a mediação entre as camadas, interpretando a
entrada de dados e gerenciando o modelo e a
visão.
14. 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..
15.
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 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.
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 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...
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.