SlideShare uma empresa Scribd logo
1 de 24
Model view presenter
Para organizar o javascript e facilitar testes
unitários
Bruno Grasselli - @grasselli
 Lucas Souza - @lucasas
Front end mais complexo
que o back end
Arrastar conteúdo de um
artigo para uma div

   Artigo 1   Título
              Subtítulo
   Artigo 2


   Artigo 3
Arrastar conteúdo de um
artigo para uma div

   Artigo 1   Título
              Subtítulo
   Artigo 2


   Artigo 3
Nossa primeira abordagem
 HTML           Javascript

  DOM    Classe XPTO         Model
Nossa primeira abordagem
 HTML           Javascript

  DOM    Classe XPTO          Model

                             Lógica de
                              Negócio
Nossa primeira abordagem
 HTML            Javascript

  DOM     Classe XPTO          Model

        Binds                 Lógica de
                               Negócio
Nossa primeira abordagem
 HTML            Javascript

  DOM     Classe XPTO          Model

        Binds   Callbacks     Lógica de
                               Negócio
Nossa primeira abordagem
 HTML              Javascript

  DOM     Classe XPTO            Model

        Binds    Callbacks      Lógica de
         Atualizar Model         Negócio
Nossa primeira abordagem
 HTML              Javascript

  DOM     Classe XPTO            Model

        Binds    Callbacks      Lógica de
         Atualizar Model         Negócio

         Atualizar DOM
Nossa primeira abordagem
 HTML                  Javascript

  DOM     Classe XPTO                Model

        Binds     Callbacks         Lógica de
         Atualizar Model             Negócio

         Atualizar DOM

                AJAX
Model view presenter
HTML          Javascript

DOM    View   Presenter    Model
Model view presenter
HTML          Javascript

DOM    View   Presenter     Model

                           Lógica de
                            Negócio
Model view presenter
HTML           Javascript

DOM    View    Presenter     Model

       Binds                Lógica de
                             Negócio
Model view presenter
HTML           Javascript

DOM    View    Presenter     Model

       Binds   Callbacks    Lógica de
                             Negócio
Model view presenter
HTML               Javascript

DOM     View       Presenter     Model

        Binds      Callbacks    Lógica de
       Atualizar                 Negócio
        DOM
Model view presenter
HTML               Javascript

DOM     View       Presenter     Model

        Binds      Callbacks    Lógica de
       Atualizar   Atualizar     Negócio
        DOM         Model
Model view presenter
HTML               Javascript

DOM     View       Presenter     Model

        Binds      Callbacks    Lógica de
       Atualizar   Atualizar     Negócio
        DOM         Model



                     AJAX
Referências

http://www.exampler.com/old-blog/2007/01/05/
http://martinfowler.com/eaaDev/uiArchs.html
http://martinfowler.com/eaaDev/
SupervisingPresenter.html
http://martinfowler.com/eaaDev/PassiveScreen.html
Perguntas?

Mais conteúdo relacionado

Destaque

Mengenal & Mendaftar di Gmail
Mengenal & Mendaftar di GmailMengenal & Mendaftar di Gmail
Mengenal & Mendaftar di GmailAnanta Bangun
 
GAAD Presentation at HUBOttawa
GAAD Presentation at HUBOttawaGAAD Presentation at HUBOttawa
GAAD Presentation at HUBOttawaMike Gifford
 
Indefinite pronouns updated
Indefinite pronouns updatedIndefinite pronouns updated
Indefinite pronouns updatedLorenachumbravo
 
Deber ecuaciones de valor
Deber ecuaciones de valorDeber ecuaciones de valor
Deber ecuaciones de valorYaja V. Yepez
 
Making informal health providers work better for the poor: Lessons from Niger...
Making informal health providers work better for the poor: Lessons from Niger...Making informal health providers work better for the poor: Lessons from Niger...
Making informal health providers work better for the poor: Lessons from Niger...Jeff Knezovich
 
Beliefs of preservice teachers toward art education
Beliefs of preservice teachers toward art educationBeliefs of preservice teachers toward art education
Beliefs of preservice teachers toward art educationNurnabihah Mohamad Nizar
 
Lentera news ed.#23 April 2016
Lentera news  ed.#23 April 2016Lentera news  ed.#23 April 2016
Lentera news ed.#23 April 2016Ananta Bangun
 
Corascent presentation4
Corascent presentation4Corascent presentation4
Corascent presentation4Mirra Aggarwal
 
Ed. abril brando, stellarium 3 d
Ed. abril   brando, stellarium 3 dEd. abril   brando, stellarium 3 d
Ed. abril brando, stellarium 3 dGlobant
 
AS MEDIA STUDIES EVALUATION
AS MEDIA STUDIES EVALUATION AS MEDIA STUDIES EVALUATION
AS MEDIA STUDIES EVALUATION nikkaan
 
Green enviornment
Green enviornmentGreen enviornment
Green enviornmentRazib M
 

Destaque (20)

Instructivo uso repuce _primera asamblea
Instructivo uso repuce _primera asambleaInstructivo uso repuce _primera asamblea
Instructivo uso repuce _primera asamblea
 
Mengenal & Mendaftar di Gmail
Mengenal & Mendaftar di GmailMengenal & Mendaftar di Gmail
Mengenal & Mendaftar di Gmail
 
GAAD Presentation at HUBOttawa
GAAD Presentation at HUBOttawaGAAD Presentation at HUBOttawa
GAAD Presentation at HUBOttawa
 
Indefinite pronouns updated
Indefinite pronouns updatedIndefinite pronouns updated
Indefinite pronouns updated
 
Deber ecuaciones de valor
Deber ecuaciones de valorDeber ecuaciones de valor
Deber ecuaciones de valor
 
CryptTech 2015
CryptTech 2015CryptTech 2015
CryptTech 2015
 
E12841
E12841E12841
E12841
 
Making informal health providers work better for the poor: Lessons from Niger...
Making informal health providers work better for the poor: Lessons from Niger...Making informal health providers work better for the poor: Lessons from Niger...
Making informal health providers work better for the poor: Lessons from Niger...
 
Beliefs of preservice teachers toward art education
Beliefs of preservice teachers toward art educationBeliefs of preservice teachers toward art education
Beliefs of preservice teachers toward art education
 
Presentation satovcha
Presentation satovchaPresentation satovcha
Presentation satovcha
 
EYPigeon
EYPigeonEYPigeon
EYPigeon
 
Discount
DiscountDiscount
Discount
 
Lentera news ed.#23 April 2016
Lentera news  ed.#23 April 2016Lentera news  ed.#23 April 2016
Lentera news ed.#23 April 2016
 
Corascent presentation4
Corascent presentation4Corascent presentation4
Corascent presentation4
 
Marketing without Money
Marketing without MoneyMarketing without Money
Marketing without Money
 
Ed. abril brando, stellarium 3 d
Ed. abril   brando, stellarium 3 dEd. abril   brando, stellarium 3 d
Ed. abril brando, stellarium 3 d
 
Acuerdo 020516
Acuerdo 020516Acuerdo 020516
Acuerdo 020516
 
AS MEDIA STUDIES EVALUATION
AS MEDIA STUDIES EVALUATION AS MEDIA STUDIES EVALUATION
AS MEDIA STUDIES EVALUATION
 
Informe para blog
Informe   para blogInforme   para blog
Informe para blog
 
Green enviornment
Green enviornmentGreen enviornment
Green enviornment
 

Semelhante a MVP Model View Presenter Organização Javascript

Web 2.0 com Ajax: JQuery/PHP (Aula 02)
Web 2.0 com Ajax: JQuery/PHP (Aula 02)Web 2.0 com Ajax: JQuery/PHP (Aula 02)
Web 2.0 com Ajax: JQuery/PHP (Aula 02)Wagner Silva
 
Introdução ao Web Design: Aula 5 - HTML (part. 1)
Introdução ao Web Design: Aula 5 - HTML (part. 1)Introdução ao Web Design: Aula 5 - HTML (part. 1)
Introdução ao Web Design: Aula 5 - HTML (part. 1)Gustavo Zimmermann
 
Escreva menos e faça mais com a jQuery
Escreva menos e faça mais com a jQueryEscreva menos e faça mais com a jQuery
Escreva menos e faça mais com a jQuery2km interativa!
 
Criação de sites Joomla com CCKs e frameworks de template - Joomla Day Ribeir...
Criação de sites Joomla com CCKs e frameworks de template - Joomla Day Ribeir...Criação de sites Joomla com CCKs e frameworks de template - Joomla Day Ribeir...
Criação de sites Joomla com CCKs e frameworks de template - Joomla Day Ribeir...jCursos
 
Programação para Web II: HTML5
Programação para Web II: HTML5Programação para Web II: HTML5
Programação para Web II: HTML5Alex Camargo
 
Programação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com DojoProgramação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com Dojofabioginzel
 
Utilizando o Padrão Presentation Model em Aplicações Flex
Utilizando o Padrão Presentation Model em Aplicações FlexUtilizando o Padrão Presentation Model em Aplicações Flex
Utilizando o Padrão Presentation Model em Aplicações FlexEric Cavalcanti
 
HTML5 Básico: Marcação (aula 1)
HTML5 Básico: Marcação (aula 1)HTML5 Básico: Marcação (aula 1)
HTML5 Básico: Marcação (aula 1)Gustavo Zimmermann
 
Wordpress além do blog
Wordpress além do blogWordpress além do blog
Wordpress além do blogMateus Neves
 
Padroes de Projetos e aplicações- parte 01
Padroes de Projetos e aplicações- parte 01Padroes de Projetos e aplicações- parte 01
Padroes de Projetos e aplicações- parte 01Walney Negreiros
 
2008 - Feira de Emprego Guimarães
2008 - Feira de Emprego Guimarães2008 - Feira de Emprego Guimarães
2008 - Feira de Emprego GuimarãesSérgio Carvalho
 
ASP.NET - Conhecendo um pouco do framework
ASP.NET - Conhecendo um pouco do frameworkASP.NET - Conhecendo um pouco do framework
ASP.NET - Conhecendo um pouco do frameworkGuilherme Ferreira
 

Semelhante a MVP Model View Presenter Organização Javascript (18)

Web 2.0 com Ajax: JQuery/PHP (Aula 02)
Web 2.0 com Ajax: JQuery/PHP (Aula 02)Web 2.0 com Ajax: JQuery/PHP (Aula 02)
Web 2.0 com Ajax: JQuery/PHP (Aula 02)
 
Introdução ao Web Design: Aula 5 - HTML (part. 1)
Introdução ao Web Design: Aula 5 - HTML (part. 1)Introdução ao Web Design: Aula 5 - HTML (part. 1)
Introdução ao Web Design: Aula 5 - HTML (part. 1)
 
Escreva menos e faça mais com a jQuery
Escreva menos e faça mais com a jQueryEscreva menos e faça mais com a jQuery
Escreva menos e faça mais com a jQuery
 
Refactoring - Design no Código
Refactoring - Design no CódigoRefactoring - Design no Código
Refactoring - Design no Código
 
Html5 e css3
Html5 e css3Html5 e css3
Html5 e css3
 
Criação de sites Joomla com CCKs e frameworks de template - Joomla Day Ribeir...
Criação de sites Joomla com CCKs e frameworks de template - Joomla Day Ribeir...Criação de sites Joomla com CCKs e frameworks de template - Joomla Day Ribeir...
Criação de sites Joomla com CCKs e frameworks de template - Joomla Day Ribeir...
 
Programação para Web II: HTML5
Programação para Web II: HTML5Programação para Web II: HTML5
Programação para Web II: HTML5
 
Iniciando com realm
Iniciando com realmIniciando com realm
Iniciando com realm
 
Programação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com DojoProgramação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com Dojo
 
Utilizando o Padrão Presentation Model em Aplicações Flex
Utilizando o Padrão Presentation Model em Aplicações FlexUtilizando o Padrão Presentation Model em Aplicações Flex
Utilizando o Padrão Presentation Model em Aplicações Flex
 
O que é Magento?
O que é Magento?O que é Magento?
O que é Magento?
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
HTML5 & CSS3
HTML5 & CSS3HTML5 & CSS3
HTML5 & CSS3
 
HTML5 Básico: Marcação (aula 1)
HTML5 Básico: Marcação (aula 1)HTML5 Básico: Marcação (aula 1)
HTML5 Básico: Marcação (aula 1)
 
Wordpress além do blog
Wordpress além do blogWordpress além do blog
Wordpress além do blog
 
Padroes de Projetos e aplicações- parte 01
Padroes de Projetos e aplicações- parte 01Padroes de Projetos e aplicações- parte 01
Padroes de Projetos e aplicações- parte 01
 
2008 - Feira de Emprego Guimarães
2008 - Feira de Emprego Guimarães2008 - Feira de Emprego Guimarães
2008 - Feira de Emprego Guimarães
 
ASP.NET - Conhecendo um pouco do framework
ASP.NET - Conhecendo um pouco do frameworkASP.NET - Conhecendo um pouco do framework
ASP.NET - Conhecendo um pouco do framework
 

MVP Model View Presenter Organização Javascript

Notas do Editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n