Padrões Arquiteturais - MVC, MVP e MVVM

  • Published on
    11-Jun-2015

  • View
    743

  • Download
    46

Transcript

  • 1. Curso: Tecnologia em Anlise e Desenvolvimento de Sistemas Disciplina: Arquitetura de Software Prof. Msc. Petrnio Cndido Lima e Silva Dupla: Aline Ferreira e Aricelio de Souza Turma: 5 Perodo

2. - Histrico; - Fundamentao Terica; - Exemplo de Implementao; Padres de Arquitetura: MVC, MVP e MVVM 3. Padro MVC Em 1979 Trygve Reenskaug sugeriu o padro TMVE ( ThingModelViewEditor), predecessor do atual MVC,em razo da impossibilidade, de reutilizao de cdigo, na poca. 4. Padro MVC o Thing (Coisa): algo de interesse do usurio; o Model: define a representao de uma abstrao na forma de dados o View: representaes visuais de um dado Modelo o Editor : Interface entre o usurio e a view; 5. Padro MVC No mesmo ano props uma evoluo do seu at ento padro MVCE (Model- View- Controller-Editor), onde: Model: definido como um objeto que representa o conhecimento; 6. Padro MVC View: a representao visual de uma Model; Controller: conexo entre o usurio e o sistema; Editor: Controller que permite ao usurio alterar informaes apresentadas na view; 7. Padro MVC Est ideia foi posteriormente implementada por Jim Althoff, com algumas modificaes, sendo o atual padro MVC ; 8. Padro MVC A arquitetura MVC (Model-View-Controller), consiste na diviso de uma aplicao em trs camadas fsicas, separando a informao de sua apresentao. 9. Padro MVC View (Apresentao) Camada de interface com usurio; Inclui os elementos de exibio no cliente : HTML, XML, ASP, Applets. Model (Lgica de Aplicao) Modela os dados e o comportamento por atrs do processo de negcios; Responsvel pela manipulao de dados; Controller (Controle) Intermediaria entre a camada de apresentao e a lgica; Controla e mapeia as aes; 10. Padro MVC 11. Padro MVC indicada para sistemas maiores; Torna a aplicao escalavl; Model, view e controller so independentes; 12. Exemplo 13. Exemplo - Sistema de Votao 14. Padro MVP O MVP foi visto a primeira vez na IBM, e posteriormente na Taligent, onde era utilizado para o desenvolvimento de aplicaes em C++, tendo posteriormente migrado para JAVA. 15. Padro MVP Em 1997 Andy Bower e Blair McGlashan da Dolphin Smalltalk adaptaram o padro MVP para formar a base para seu framework de interface de usurio. Em 2006 foi inserido pela Microsoft na documentao do .NET framework. 16. Padro MVP O padro MVP (Model-View-Presenter) , possui como objetivo, separar a camada de apresentao das camadas de dados e regras de negcio. 17. Padro MVP 18. Padro MVP View Interface com o usurio; implementa uma interface que expe os campos e eventos que o Presenter necessita; Model So os objetos que sero manipulados; Um objeto Model implementa uma interface que expe os campos que o Presenter ir atualizar quando sofrer alguma alterao na View. Presenter a ligao entre a Model e a view; Ele encarregado de atualizar a View quando o Model alterado e de sincronizar o Model em relao ao View. 19. Padro MVP O MVP diferencia- se do MVC no conceito, pois as funes do Presenter so semelhantes a do Controller. A manuteno do sistema muito mais simples, j que, as responsabilidades esto divididas em classes distintas. 20. Exemplo 21. Exemplo 22. Exemplo 23. Exemplo 24. Exemplo 25. Exemplo 26. Exemplo 27. Exemplo 28. Padro MVVM O MVVM (Model-View-ViewModel) um padro criado em 2005 por John Gossman, um dos arquitetos do WPF e Silverlight na Microsoft. Este padro identico ao MVP e especfico para a arquitetura do WPF e Silverligh. 29. Padro MVVM Tambm uma especializao do padro PM (Presentation-Model), introduzido por Martin Fowler em 2004. 30. Padro MVVM 31. Padro MVVM Model Representa o conceito do negcio; View Controle grfico responsvel pela apresentao de dados ao usurio; Uma view pode ser uma janela WPF, uma pgina do Silverlight, ou apenas um modelo de controle de dados XAML. View- Model Contm a lgica de interface com o usurio, os comandos, os eventos e uma referncia ao modelo; A atualizao de dados na interface feita por um componente fornecido pelo WPF e Silverligh; 32. Padro MVVM A comunicao entre as camadas view e view- model feita por um mecanismo denominado binding; 33. Padro MVVM 34. Padro MVVM A utilizao da arquitetura MVVM requer a diviso, do cdigo da aplicao em diferentes blocos denominados camadas; Cdigo mais flexvel, e fcil de testar; 35. Padro MVVM 36. Exemplo 37. Exemplo 38. Exemplo 39. Exemplo 40. Exemplo 41. Exemplo 42. Exemplo 43. Exemplo 44. Exemplo 45. Exemplo 46. Exemplo 47. [1] de Souza, Carlos Eduardo Ferreira. Entendendo o Pattern Model-View-ViewModel (MVVM). Nov 2010. Disponvel em: < http://imasters.com.br/artigo/18900/desenvolvimento/entendendo-o-pattern-model-view-viewmodel-mvvm/ >. Acesso em: 26 Abr. 2014. [2] LUCIANO, Josu; ALVES, Wallison Joel Barabar. Padro de Arquitetura MVC: Model-View- Controller. 2011, Disponvel em: < http://www.unifafibe.com.br/revistasonline/arquivos/revistaepeqfafibe/sumario/20/16112011142249.pdf>. Acesso em: 26 Abr. 2014. [3] Macoratti, Jos Carlos. Padres de Projeto : O modelo MVC - Model View Controller. Disponvel em: . Acesso em: 26 Abr. 2014. [4] Macoratti, Jos Carlos. ASP.NET - MVC - Model-View-Controller Introduo. Disponvel em: < http://www.macoratti.net/08/06/asp_mvc1.htm>. Acesso em: 26 Abr. 2014. [5] Quicoli, Paulo. O Padro MVP (Model-View-Presenter). Disponvel em: < http://www.devmedia.com.br/o-padrao-mvp-model-view-presenter/3043>. Acesso em: 26 Abr. 2014. Referncias 48. [6] ODISI, Francis Benito. Gerao de cdigo para acesso a dados utilizando os padres MVC e DAO. Nov 2008. Disponvel em: . Acesso em: 26 Abr. 2014. [7] MAGELA, R. Engenharia de software aplicada: fundamentos. Rio de Janeiro: Alta Books, 2006. [8] DE ALMEIDA, Rodrigo Rebouas. Model-View-Controller (MVC). Disponvel em: < http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/arqu/mvc/mvc.htm>. Acesso em: 26 Abr. 2014. [9] FOWLER, Martin. GUI Arquitectures. JUL 2006. Disponvel em: . Acesso em: 27 Abr. 2014. [10] POTEL, Mike. MVP: Model-View-Presenter - The Taligent Programming Model for C++ and Java. 1996. Disponvel em: < http://www.wildcrest.com/Potel/Portfolio/mvp.pdf>. Acesso em: 27 Abr. 2014. [11] MARTINS, Daniel Fernandes .Apresentando Model-View-Presenter, o MVC focado na visualizao. Out 2012. Disponvel em: < http://javafree.uol.com.br/artigo/871446/Apresentando-ModelViewPresenter-o-MVC-focado-na-visualizacao.html >. Acesso em: 28 Abr. 2014. Referncias 49. [12] C.M., Kelson. MVP (Model-View-Presenter/Modelo-Viso-Apresentador). Mai 2012. Disponvel em: < http://kelsoncm.com/tic/mvp-model-view-presentermodelo-visao-apresentador/>. Acesso em: 28 Abr. 2014. [13] Macoratti, Jos Carlos. NET - Apresentando o padro Model View ViewModel. Disponvel em: < http://www.macoratti.net/11/06/pp_mvvm1.htm>. Acesso em: 28 Abr. 2014. [14] Balivo, Jefferson. Desvendando o padro MVVM. Set 2012. Disponvel em: < http://www.balivo.com.br/desvendando-o-padrao-mvvm/>. Acesso em: 28 Abr. 2014. Referncias 50. Obrigado

Recommended

View more >