SlideShare uma empresa Scribd logo
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)
Entendendo a Tríade Model-View-Controller (MVC) utilizando padrões de projeto de software orientado a objetos
“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.
Entendendo a Tríade Model-View-Controller (MVC) utilizando padrões de projeto de software orientado a objetos
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.
Entendendo a Tríade Model-View-Controller (MVC) utilizando padrões de projeto de software orientado a objetos
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..
Entendendo a Tríade Model-View-Controller (MVC) utilizando padrões de projeto de software orientado a objetos
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

Mais conteúdo relacionado

PDF
Entendendo a Tríade Model-View-Controller (MVC) Utilizando Padrões de Projeto...
PDF
Padrões Arquiteturais - MVC, MVP e MVVM
PPT
Padrão Arquitetural MVC e suas aplicações para WEB
PPTX
MVC, MVP e MVVM: Uma Comparação de Padrões Arquiteturais
PDF
Arquitetura MVC
PPTX
Apresentação mvc
PPT
PDF
MVC MVP MVVM para Web
Entendendo a Tríade Model-View-Controller (MVC) Utilizando Padrões de Projeto...
Padrões Arquiteturais - MVC, MVP e MVVM
Padrão Arquitetural MVC e suas aplicações para WEB
MVC, MVP e MVVM: Uma Comparação de Padrões Arquiteturais
Arquitetura MVC
Apresentação mvc
MVC MVP MVVM para Web

Mais procurados (20)

PPT
Padrões Arquiteturais de Sistemas
PDF
Arquitetura de Software
DOCX
Camadas
PDF
Padrões de Projeto WEB e o MVC
PPTX
Arquitetura de Software
PDF
Arquitetura de Software Visão Geral
PPT
Framework Miolo
PDF
Ebook AngularJS | Guia Introdutório
PPT
Apresentação Facelets_UNIFEI
PPT
Modelagem Arquitetural e Visão 4+1
DOCX
Resenha Crítica Comparativa - Inovando o Desenvolvimento Web com JSF e Design...
PPTX
Arquitetura de Software EXPLICADA
ODP
Arquitetura MVC, JavaBeans e DAO
PPT
Trabalho camadas final+ (1)
ODP
Seminário flyweight
PDF
APSI 2 aulas - padroes arquiteturais - camadas PROF.TARCIANE
PDF
Arquitetura de Sofware
PPT
Mda Apresentacao
Padrões Arquiteturais de Sistemas
Arquitetura de Software
Camadas
Padrões de Projeto WEB e o MVC
Arquitetura de Software
Arquitetura de Software Visão Geral
Framework Miolo
Ebook AngularJS | Guia Introdutório
Apresentação Facelets_UNIFEI
Modelagem Arquitetural e Visão 4+1
Resenha Crítica Comparativa - Inovando o Desenvolvimento Web com JSF e Design...
Arquitetura de Software EXPLICADA
Arquitetura MVC, JavaBeans e DAO
Trabalho camadas final+ (1)
Seminário flyweight
APSI 2 aulas - padroes arquiteturais - camadas PROF.TARCIANE
Arquitetura de Sofware
Mda Apresentacao
Anúncio

Destaque (20)

PDF
Triadedo tempo resumocap3
PDF
Ganhar ou Perder Tempo: Descubra Como Usar as Tecnologias a Seu Favor
PDF
O programador php
PDF
Treinamento MVC .Net
PDF
Advanced sql
PDF
Workshop Liderança
PDF
Arquitetura Model View Controller
PDF
Palestra de Marcos Assi GRM 2011
PDF
A tríade do tempo
PDF
Desenvolvimento Web/Java com Framework Demoiselle
PDF
Metodologia de auditoria 2012
PPT
Coaching - Tríade do Tempo
PPTX
Aspectos de controladoria
PPSX
Otimização Do Tempo
PPTX
Curso de Gestão Financeira.
PPTX
Treinamento de Administracao do Tempo
PDF
Controladoria, controles internos e riscos: estamos preparados?
PPTX
Administração do Tempo - Treinamento Embali
PDF
Palestra de Gestão Estratégica em Controladoria
PPT
Modelos de Gestão - Apresentação - Gestão Financeira
Triadedo tempo resumocap3
Ganhar ou Perder Tempo: Descubra Como Usar as Tecnologias a Seu Favor
O programador php
Treinamento MVC .Net
Advanced sql
Workshop Liderança
Arquitetura Model View Controller
Palestra de Marcos Assi GRM 2011
A tríade do tempo
Desenvolvimento Web/Java com Framework Demoiselle
Metodologia de auditoria 2012
Coaching - Tríade do Tempo
Aspectos de controladoria
Otimização Do Tempo
Curso de Gestão Financeira.
Treinamento de Administracao do Tempo
Controladoria, controles internos e riscos: estamos preparados?
Administração do Tempo - Treinamento Embali
Palestra de Gestão Estratégica em Controladoria
Modelos de Gestão - Apresentação - Gestão Financeira
Anúncio

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

PDF
Conceitos e Frameworks para Arquitetura MVC.pdf
PPTX
Arquitetura e Frameworks para Arquitetura MVC.pptx
PDF
Padrões de Projeto Web e o MVC
ODP
Usando MVC para agilizar o desenvolvimento
PPTX
Asp.Net Mvc
PPTX
MVC Pattern
PPTX
MVC e Frameworks MVC
ODP
Prog web 08-php-mvc
PPT
Apresentação Java Web Si Ufc Quixadá - MVC
PDF
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
PPTX
Programação orientada à objetos & mvc
PPT
Criandeiros - Grupo de estudos: MVC
PDF
Estudo De Aplicabilidade Do PadrãO Mvc Fernando & Leonardo
PPTX
Treinamento Básico Sobre ASP.NET MVC
KEY
Desenvolvimento iOS - Aula 2
PDF
Palestra ASP.NET MVC
PPTX
Padrões MVC
PDF
Design Pattern MVC – Arquitetura de Software Coesa e Flexível
PDF
DCI com PHP
PPT
Apresentação - Uniararas - JEE e Desenvolvimento Ágil
Conceitos e Frameworks para Arquitetura MVC.pdf
Arquitetura e Frameworks para Arquitetura MVC.pptx
Padrões de Projeto Web e o MVC
Usando MVC para agilizar o desenvolvimento
Asp.Net Mvc
MVC Pattern
MVC e Frameworks MVC
Prog web 08-php-mvc
Apresentação Java Web Si Ufc Quixadá - MVC
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
Programação orientada à objetos & mvc
Criandeiros - Grupo de estudos: MVC
Estudo De Aplicabilidade Do PadrãO Mvc Fernando & Leonardo
Treinamento Básico Sobre ASP.NET MVC
Desenvolvimento iOS - Aula 2
Palestra ASP.NET MVC
Padrões MVC
Design Pattern MVC – Arquitetura de Software Coesa e Flexível
DCI com PHP
Apresentação - Uniararas - JEE e Desenvolvimento Ágil

Último (7)

PDF
Dos requisitos ao código: como criar código rastreável em PHP
PPTX
Curso de Windows 11 resumido na prática.pptx
DOC
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
PPTX
Mapeamento de Objeto para Tabela Relacional
PDF
Evolução em código: algoritmos genéticos com PHP
DOC
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
PDF
apresentacao introducao computacao ead.pdf
Dos requisitos ao código: como criar código rastreável em PHP
Curso de Windows 11 resumido na prática.pptx
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
Mapeamento de Objeto para Tabela Relacional
Evolução em código: algoritmos genéticos com PHP
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
apresentacao introducao computacao ead.pdf

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)
  • 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.
  • 7. Os Objetos Modeloscontém os dados e a lógica do aplicativo..
  • 8. O modelodeve notificartodos os objetos que dependem de seu estado quando algum dado é alterado. É nesse contesto que o padrão observeré aplicado.
  • 10. A visão Viewé a representação do modelo gerando a saída gráfica de forma adequada do usuário.
  • 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.
  • 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..
  • 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.