SlideShare una empresa de Scribd logo
1 de 22
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

Más contenido relacionado

La actualidad más candente

Padrões Arquiteturais de Sistemas
Padrões Arquiteturais de SistemasPadrões Arquiteturais de Sistemas
Padrões Arquiteturais de SistemasVagner Santana
 
Padrões de Projeto WEB e o MVC
Padrões de Projeto WEB e o MVCPadrões de Projeto WEB e o MVC
Padrões de Projeto WEB e o MVCAlmir Neto
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de SoftwareAricelio Souza
 
Arquitetura de Software Visão Geral
Arquitetura de Software Visão GeralArquitetura de Software Visão Geral
Arquitetura de Software Visão Geralsergiocrespo
 
Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório Portal GSTI
 
Apresentação Facelets_UNIFEI
Apresentação Facelets_UNIFEIApresentação Facelets_UNIFEI
Apresentação Facelets_UNIFEIFelipe Knappe
 
Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1Adriano Tavares
 
Resenha Crítica Comparativa - Inovando o Desenvolvimento Web com JSF e Design...
Resenha Crítica Comparativa - Inovando o Desenvolvimento Web com JSF e Design...Resenha Crítica Comparativa - Inovando o Desenvolvimento Web com JSF e Design...
Resenha Crítica Comparativa - Inovando o Desenvolvimento Web com JSF e Design...Esdras Da Silva
 
Arquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAOArquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAOLeonardo Sousa
 
Trabalho camadas final+ (1)
Trabalho camadas final+ (1)Trabalho camadas final+ (1)
Trabalho camadas final+ (1)sampaio0612
 
Seminário flyweight
Seminário flyweightSeminário flyweight
Seminário flyweightMateus Amaral
 
APSI 2 aulas - padroes arquiteturais - camadas PROF.TARCIANE
APSI 2   aulas  - padroes arquiteturais - camadas PROF.TARCIANEAPSI 2   aulas  - padroes arquiteturais - camadas PROF.TARCIANE
APSI 2 aulas - padroes arquiteturais - camadas PROF.TARCIANEFco Edilson Nascimento
 
Mda Apresentacao
Mda ApresentacaoMda Apresentacao
Mda Apresentacaoguestff06a
 

La actualidad más candente (20)

Padrões Arquiteturais de Sistemas
Padrões Arquiteturais de SistemasPadrões Arquiteturais de Sistemas
Padrões Arquiteturais de Sistemas
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Camadas
CamadasCamadas
Camadas
 
Padrões de Projeto WEB e o MVC
Padrões de Projeto WEB e o MVCPadrões de Projeto WEB e o MVC
Padrões de Projeto WEB e o MVC
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Arquitetura de Software Visão Geral
Arquitetura de Software Visão GeralArquitetura de Software Visão Geral
Arquitetura de Software Visão Geral
 
Framework Miolo
Framework MioloFramework Miolo
Framework Miolo
 
Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório
 
Apresentação Facelets_UNIFEI
Apresentação Facelets_UNIFEIApresentação Facelets_UNIFEI
Apresentação Facelets_UNIFEI
 
Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1
 
Resenha Crítica Comparativa - Inovando o Desenvolvimento Web com JSF e Design...
Resenha Crítica Comparativa - Inovando o Desenvolvimento Web com JSF e Design...Resenha Crítica Comparativa - Inovando o Desenvolvimento Web com JSF e Design...
Resenha Crítica Comparativa - Inovando o Desenvolvimento Web com JSF e Design...
 
Ehdm
EhdmEhdm
Ehdm
 
Arquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADAArquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADA
 
Cs 2
Cs 2Cs 2
Cs 2
 
Arquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAOArquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAO
 
Trabalho camadas final+ (1)
Trabalho camadas final+ (1)Trabalho camadas final+ (1)
Trabalho camadas final+ (1)
 
Seminário flyweight
Seminário flyweightSeminário flyweight
Seminário flyweight
 
APSI 2 aulas - padroes arquiteturais - camadas PROF.TARCIANE
APSI 2   aulas  - padroes arquiteturais - camadas PROF.TARCIANEAPSI 2   aulas  - padroes arquiteturais - camadas PROF.TARCIANE
APSI 2 aulas - padroes arquiteturais - camadas PROF.TARCIANE
 
Arquitetura de Sofware
Arquitetura de SofwareArquitetura de Sofware
Arquitetura de Sofware
 
Mda Apresentacao
Mda ApresentacaoMda Apresentacao
Mda Apresentacao
 

Destacado

Triadedo tempo resumocap3
Triadedo tempo resumocap3Triadedo tempo resumocap3
Triadedo tempo resumocap3nahsan
 
Ganhar ou Perder Tempo: Descubra Como Usar as Tecnologias a Seu Favor
Ganhar ou Perder Tempo: Descubra Como Usar as Tecnologias a Seu FavorGanhar ou Perder Tempo: Descubra Como Usar as Tecnologias a Seu Favor
Ganhar ou Perder Tempo: Descubra Como Usar as Tecnologias a Seu FavorSerge Rehem
 
Workshop Liderança
Workshop LiderançaWorkshop Liderança
Workshop Liderançaaction_coach
 
Arquitetura Model View Controller
Arquitetura Model View ControllerArquitetura Model View Controller
Arquitetura Model View ControllerLourdilene Souza
 
Desenvolvimento Web/Java com Framework Demoiselle
Desenvolvimento Web/Java com Framework DemoiselleDesenvolvimento Web/Java com Framework Demoiselle
Desenvolvimento Web/Java com Framework DemoiselleSerge Rehem
 
Coaching - Tríade do Tempo
Coaching - Tríade do TempoCoaching - Tríade do Tempo
Coaching - Tríade do TempoMarcela Guerra
 
Otimização Do Tempo
Otimização Do TempoOtimização Do Tempo
Otimização Do Tempofredgoulart
 
Treinamento de Administracao do Tempo
Treinamento de Administracao do TempoTreinamento de Administracao do Tempo
Treinamento de Administracao do TempoGeorge Dias
 
Controladoria, controles internos e riscos: estamos preparados?
Controladoria, controles internos e riscos: estamos preparados?Controladoria, controles internos e riscos: estamos preparados?
Controladoria, controles internos e riscos: estamos preparados?MASSI Consultoria e Treinamento
 
Palestra de Gestão Estratégica em Controladoria
Palestra de Gestão Estratégica em ControladoriaPalestra de Gestão Estratégica em Controladoria
Palestra de Gestão Estratégica em ControladoriaValini & Associates
 
Modelos de Gestão - Apresentação - Gestão Financeira
Modelos de Gestão - Apresentação - Gestão FinanceiraModelos de Gestão - Apresentação - Gestão Financeira
Modelos de Gestão - Apresentação - Gestão FinanceiraAlex Felix Nepomuceno
 

Destacado (20)

Triadedo tempo resumocap3
Triadedo tempo resumocap3Triadedo tempo resumocap3
Triadedo tempo resumocap3
 
Ganhar ou Perder Tempo: Descubra Como Usar as Tecnologias a Seu Favor
Ganhar ou Perder Tempo: Descubra Como Usar as Tecnologias a Seu FavorGanhar ou Perder Tempo: Descubra Como Usar as Tecnologias a Seu Favor
Ganhar ou Perder Tempo: Descubra Como Usar as Tecnologias a Seu Favor
 
O programador php
O programador phpO programador php
O programador php
 
Treinamento MVC .Net
Treinamento MVC .NetTreinamento MVC .Net
Treinamento MVC .Net
 
Advanced sql
Advanced sqlAdvanced sql
Advanced sql
 
Workshop Liderança
Workshop LiderançaWorkshop Liderança
Workshop Liderança
 
Arquitetura Model View Controller
Arquitetura Model View ControllerArquitetura Model View Controller
Arquitetura Model View Controller
 
Palestra de Marcos Assi GRM 2011
Palestra de Marcos Assi GRM 2011Palestra de Marcos Assi GRM 2011
Palestra de Marcos Assi GRM 2011
 
A tríade do tempo
A tríade do tempoA tríade do tempo
A tríade do tempo
 
Desenvolvimento Web/Java com Framework Demoiselle
Desenvolvimento Web/Java com Framework DemoiselleDesenvolvimento Web/Java com Framework Demoiselle
Desenvolvimento Web/Java com Framework Demoiselle
 
Metodologia de auditoria 2012
Metodologia de auditoria 2012Metodologia de auditoria 2012
Metodologia de auditoria 2012
 
Coaching - Tríade do Tempo
Coaching - Tríade do TempoCoaching - Tríade do Tempo
Coaching - Tríade do Tempo
 
Aspectos de controladoria
Aspectos de controladoriaAspectos de controladoria
Aspectos de controladoria
 
Otimização Do Tempo
Otimização Do TempoOtimização Do Tempo
Otimização Do Tempo
 
Curso de Gestão Financeira.
Curso de Gestão Financeira.Curso de Gestão Financeira.
Curso de Gestão Financeira.
 
Treinamento de Administracao do Tempo
Treinamento de Administracao do TempoTreinamento de Administracao do Tempo
Treinamento de Administracao do Tempo
 
Controladoria, controles internos e riscos: estamos preparados?
Controladoria, controles internos e riscos: estamos preparados?Controladoria, controles internos e riscos: estamos preparados?
Controladoria, controles internos e riscos: estamos preparados?
 
Administração do Tempo - Treinamento Embali
Administração do Tempo - Treinamento EmbaliAdministração do Tempo - Treinamento Embali
Administração do Tempo - Treinamento Embali
 
Palestra de Gestão Estratégica em Controladoria
Palestra de Gestão Estratégica em ControladoriaPalestra de Gestão Estratégica em Controladoria
Palestra de Gestão Estratégica em Controladoria
 
Modelos de Gestão - Apresentação - Gestão Financeira
Modelos de Gestão - Apresentação - Gestão FinanceiraModelos de Gestão - Apresentação - Gestão Financeira
Modelos de Gestão - Apresentação - Gestão Financeira
 

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

Merlinferramentassbc2006 Revisado Em6paginas
Merlinferramentassbc2006 Revisado Em6paginasMerlinferramentassbc2006 Revisado Em6paginas
Merlinferramentassbc2006 Revisado Em6paginasMarcelo Mrack
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1César Augusto Pessôa
 
Paper NOVL - Naked Objects View Language- InfoBrasil 2012
Paper NOVL - Naked Objects View Language- InfoBrasil 2012Paper NOVL - Naked Objects View Language- InfoBrasil 2012
Paper NOVL - Naked Objects View Language- InfoBrasil 2012Marcius Brandão
 
Design Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e FlexívelDesign Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e FlexívelRyan Padilha
 
Reutilização
ReutilizaçãoReutilização
Reutilizaçãoemjorge
 
Programação orientada à objetos & mvc
Programação orientada à objetos & mvcProgramação orientada à objetos & mvc
Programação orientada à objetos & mvcJhordam Siqueira
 
Framework Entities na CBSoft
Framework Entities na CBSoftFramework Entities na CBSoft
Framework Entities na CBSoftMarcius Brandão
 
5507 os principais design patterns
5507   os principais design patterns5507   os principais design patterns
5507 os principais design patternsAndre Baltieri
 
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)Rafael Oliveira
 
Arquitetando sistemas PHP
Arquitetando sistemas PHPArquitetando sistemas PHP
Arquitetando sistemas PHPEduardo Cesar
 
Arquitetando aplicações php
Arquitetando aplicações phpArquitetando aplicações php
Arquitetando aplicações phpEduardo Cesar
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsCloves Moreira Junior
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento webArlindo Santos
 
Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5Lucas Augusto Carvalho
 
Usando MVC para agilizar o desenvolvimento
Usando MVC para agilizar o desenvolvimentoUsando MVC para agilizar o desenvolvimento
Usando MVC para agilizar o desenvolvimentoAlexandre Andrade
 
Middleware Reflexivo
Middleware ReflexivoMiddleware Reflexivo
Middleware Reflexivoelliando dias
 
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...Lenin Abadie
 

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

Merlinferramentassbc2006 Revisado Em6paginas
Merlinferramentassbc2006 Revisado Em6paginasMerlinferramentassbc2006 Revisado Em6paginas
Merlinferramentassbc2006 Revisado Em6paginas
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1
 
Paper NOVL - Naked Objects View Language- InfoBrasil 2012
Paper NOVL - Naked Objects View Language- InfoBrasil 2012Paper NOVL - Naked Objects View Language- InfoBrasil 2012
Paper NOVL - Naked Objects View Language- InfoBrasil 2012
 
Design Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e FlexívelDesign Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e Flexível
 
Reutilização
ReutilizaçãoReutilização
Reutilização
 
Programação orientada à objetos & mvc
Programação orientada à objetos & mvcProgramação orientada à objetos & mvc
Programação orientada à objetos & mvc
 
Framework Entities na CBSoft
Framework Entities na CBSoftFramework Entities na CBSoft
Framework Entities na CBSoft
 
5507 os principais design patterns
5507   os principais design patterns5507   os principais design patterns
5507 os principais design patterns
 
Padrões de Projeto de Software
Padrões de Projeto de SoftwarePadrões de Projeto de Software
Padrões de Projeto de Software
 
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
 
Arquitetando sistemas PHP
Arquitetando sistemas PHPArquitetando sistemas PHP
Arquitetando sistemas PHP
 
Arquitetando aplicações php
Arquitetando aplicações phpArquitetando aplicações php
Arquitetando aplicações php
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular js
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento web
 
Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5
 
Usando MVC para agilizar o desenvolvimento
Usando MVC para agilizar o desenvolvimentoUsando MVC para agilizar o desenvolvimento
Usando MVC para agilizar o desenvolvimento
 
Middleware Reflexivo
Middleware ReflexivoMiddleware Reflexivo
Middleware Reflexivo
 
Mvc - Semifinal
Mvc - SemifinalMvc - Semifinal
Mvc - Semifinal
 
Oficina cake php
Oficina cake phpOficina cake php
Oficina cake php
 
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
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.
  • 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.
  • 9.
  • 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.
  • 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.