SlideShare uma empresa Scribd logo
1 de 14
ModelViewViewModel
Felipe Pimentel Felipe Pimentel
Felipe Pimentel FelipePimentell felipejfp@hotmail.com fpimentel88 felipe.pimentel@2pc.com.br http://felipepimentel.net
Felipe Pimentel
Agenda O que é? O que faz? Quando usar? Variações? Light Toolkit Demo!!!
“Mais outro M* alguma coisa?” MVP MVC MV?????
O que é MVVM? Padrão de arquitetura de apresentação Separando responsabilidades Isolar designers e desenvolvedores? Facilita os testes
Por que do MVVM? Fatores tecnologicos Databinds INotifyPropertyChanged IValueConverter Modelo de eventos utilizando ICommand
MVVM Model View DataBinding Presentation Model (ViewModel)
ModelMVVM Represents the data The entity Not required to know where it gets its data from From a WCF service. WCF RIA Services, etc May contain validation
ViewMVVM The screen, the UI, the UserControl in Silverlight Handles UI look and feel Presentation of information Communicates with ViewModel through bindings
ViewModelMVVM Conhecido por PresenterModel Main source of logic for the MVVM triad Connects the Model to the View Abstracts the View Public properties that are bound to a View INotifyPropertyChanged and INotifyCollectionChanged talk to the View through bindings Listens for changes from the View through bindings Invokes services to communicate outside the MVVM triad
MVVM DEMO!!!! DEMO!!! DEMO!! DEMO!
Referências John Papa - http://johnpapa.net/ http://www.galasoft.ch/mvvm/getstarted/ http://msdn.microsoft.com/en-us/magazine/dd419663.aspx http://virtualdreams.com.br

Mais conteúdo relacionado

Mais procurados

Structuring Your Sencha Touch Application
Structuring Your Sencha Touch ApplicationStructuring Your Sencha Touch Application
Structuring Your Sencha Touch ApplicationSencha
 
Mvvm pattern
Mvvm patternMvvm pattern
Mvvm patternmsarangam
 
MVVM in iOS presentation
MVVM in iOS presentationMVVM in iOS presentation
MVVM in iOS presentationG ABHISEK
 
Ui design patterns
Ui design patternsUi design patterns
Ui design patternsJorge Ortiz
 
Model View Presenter (MVP) In Aspnet
Model View Presenter (MVP) In AspnetModel View Presenter (MVP) In Aspnet
Model View Presenter (MVP) In Aspnetrainynovember12
 
Acrhitecture deisign pattern_MVC_MVP_MVVM
Acrhitecture deisign pattern_MVC_MVP_MVVMAcrhitecture deisign pattern_MVC_MVP_MVVM
Acrhitecture deisign pattern_MVC_MVP_MVVMDong-Ho Lee
 
Senior Front End Developer – Contract Position, see @Bradley_abrs
Senior Front End Developer – Contract Position, see @Bradley_abrsSenior Front End Developer – Contract Position, see @Bradley_abrs
Senior Front End Developer – Contract Position, see @Bradley_abrsMark Long
 
Senior Front End Developer - contract london
Senior Front End Developer - contract londonSenior Front End Developer - contract london
Senior Front End Developer - contract londonMark Long
 
Mvc vs mvp vs mvvm a guide on architecture presentation patterns
Mvc vs mvp vs mvvm  a guide on architecture presentation patternsMvc vs mvp vs mvvm  a guide on architecture presentation patterns
Mvc vs mvp vs mvvm a guide on architecture presentation patternsConcetto Labs
 
Portable Class Libraries and MVVM
Portable Class Libraries and MVVMPortable Class Libraries and MVVM
Portable Class Libraries and MVVMAndreas Kuntner
 
Introduction To Model View Presenter
Introduction To Model View PresenterIntroduction To Model View Presenter
Introduction To Model View Presentersaeed shargi ghazani
 
MVC(Model View Controller),Web,Enterprise,Mobile
MVC(Model View Controller),Web,Enterprise,MobileMVC(Model View Controller),Web,Enterprise,Mobile
MVC(Model View Controller),Web,Enterprise,Mobilenaral
 
WJAX 2012 - Web Apps With AngularJS
WJAX 2012 - Web Apps With AngularJSWJAX 2012 - Web Apps With AngularJS
WJAX 2012 - Web Apps With AngularJSPhilipp Burgmer
 

Mais procurados (20)

Android MVVM
Android MVVMAndroid MVVM
Android MVVM
 
Structuring Your Sencha Touch Application
Structuring Your Sencha Touch ApplicationStructuring Your Sencha Touch Application
Structuring Your Sencha Touch Application
 
Mvvm pattern
Mvvm patternMvvm pattern
Mvvm pattern
 
MVVM in iOS presentation
MVVM in iOS presentationMVVM in iOS presentation
MVVM in iOS presentation
 
Ui design patterns
Ui design patternsUi design patterns
Ui design patterns
 
Slide Presentation of MVP Pattern Concept
Slide Presentation of MVP Pattern ConceptSlide Presentation of MVP Pattern Concept
Slide Presentation of MVP Pattern Concept
 
Model View Presenter (MVP) In Aspnet
Model View Presenter (MVP) In AspnetModel View Presenter (MVP) In Aspnet
Model View Presenter (MVP) In Aspnet
 
Acrhitecture deisign pattern_MVC_MVP_MVVM
Acrhitecture deisign pattern_MVC_MVP_MVVMAcrhitecture deisign pattern_MVC_MVP_MVVM
Acrhitecture deisign pattern_MVC_MVP_MVVM
 
Senior Front End Developer – Contract Position, see @Bradley_abrs
Senior Front End Developer – Contract Position, see @Bradley_abrsSenior Front End Developer – Contract Position, see @Bradley_abrs
Senior Front End Developer – Contract Position, see @Bradley_abrs
 
Senior Front End Developer - contract london
Senior Front End Developer - contract londonSenior Front End Developer - contract london
Senior Front End Developer - contract london
 
Mvc vs mvp vs mvvm a guide on architecture presentation patterns
Mvc vs mvp vs mvvm  a guide on architecture presentation patternsMvc vs mvp vs mvvm  a guide on architecture presentation patterns
Mvc vs mvp vs mvvm a guide on architecture presentation patterns
 
Portable Class Libraries and MVVM
Portable Class Libraries and MVVMPortable Class Libraries and MVVM
Portable Class Libraries and MVVM
 
Introduction To Model View Presenter
Introduction To Model View PresenterIntroduction To Model View Presenter
Introduction To Model View Presenter
 
VIPER
VIPERVIPER
VIPER
 
MVC(Model View Controller),Web,Enterprise,Mobile
MVC(Model View Controller),Web,Enterprise,MobileMVC(Model View Controller),Web,Enterprise,Mobile
MVC(Model View Controller),Web,Enterprise,Mobile
 
MVC
MVCMVC
MVC
 
WJAX 2012 - Web Apps With AngularJS
WJAX 2012 - Web Apps With AngularJSWJAX 2012 - Web Apps With AngularJS
WJAX 2012 - Web Apps With AngularJS
 
Why Use MVC?
Why Use MVC?Why Use MVC?
Why Use MVC?
 
Mvc fundamental
Mvc fundamentalMvc fundamental
Mvc fundamental
 
ASP.NET Web Forms vs. MVC
ASP.NET Web Forms vs. MVCASP.NET Web Forms vs. MVC
ASP.NET Web Forms vs. MVC
 

Destaque

Parceria DotNetArchitects PE com TWM
Parceria DotNetArchitects PE com  TWM Parceria DotNetArchitects PE com  TWM
Parceria DotNetArchitects PE com TWM Felipe Pimentel
 
Lightning talk Test-Driven Development - TDD
Lightning talk Test-Driven Development - TDDLightning talk Test-Driven Development - TDD
Lightning talk Test-Driven Development - TDDWillians De Paula Pereira
 
Silverlight no MIC Summer 2011
Silverlight no MIC Summer 2011 Silverlight no MIC Summer 2011
Silverlight no MIC Summer 2011 Felipe Pimentel
 
Desenvolvendo com Silverlight para WP7 Mango [Update]
Desenvolvendo com Silverlight para WP7 Mango [Update]Desenvolvendo com Silverlight para WP7 Mango [Update]
Desenvolvendo com Silverlight para WP7 Mango [Update]Felipe Pimentel
 
Windows Phone 7 para um público não TI
Windows Phone 7 para um público não TIWindows Phone 7 para um público não TI
Windows Phone 7 para um público não TIFelipe Pimentel
 
TDD (Test Driven Development)
TDD (Test Driven Development)TDD (Test Driven Development)
TDD (Test Driven Development)Felipe Pimentel
 

Destaque (7)

Parceria DotNetArchitects PE com TWM
Parceria DotNetArchitects PE com  TWM Parceria DotNetArchitects PE com  TWM
Parceria DotNetArchitects PE com TWM
 
Mvc 3 & razor
Mvc 3 & razorMvc 3 & razor
Mvc 3 & razor
 
Lightning talk Test-Driven Development - TDD
Lightning talk Test-Driven Development - TDDLightning talk Test-Driven Development - TDD
Lightning talk Test-Driven Development - TDD
 
Silverlight no MIC Summer 2011
Silverlight no MIC Summer 2011 Silverlight no MIC Summer 2011
Silverlight no MIC Summer 2011
 
Desenvolvendo com Silverlight para WP7 Mango [Update]
Desenvolvendo com Silverlight para WP7 Mango [Update]Desenvolvendo com Silverlight para WP7 Mango [Update]
Desenvolvendo com Silverlight para WP7 Mango [Update]
 
Windows Phone 7 para um público não TI
Windows Phone 7 para um público não TIWindows Phone 7 para um público não TI
Windows Phone 7 para um público não TI
 
TDD (Test Driven Development)
TDD (Test Driven Development)TDD (Test Driven Development)
TDD (Test Driven Development)
 

Semelhante a MVVM

Building an enterprise app in silverlight 4 and NHibernate
Building an enterprise app in silverlight 4 and NHibernateBuilding an enterprise app in silverlight 4 and NHibernate
Building an enterprise app in silverlight 4 and NHibernatebwullems
 
Modern ASP.NET Webskills
Modern ASP.NET WebskillsModern ASP.NET Webskills
Modern ASP.NET WebskillsCaleb Jenkins
 
Introdução ao ASP .NET MVC - C. Augusto Proiete
Introdução ao ASP .NET MVC - C. Augusto ProieteIntrodução ao ASP .NET MVC - C. Augusto Proiete
Introdução ao ASP .NET MVC - C. Augusto ProieteComunidade NetPonto
 
Code Camp 06 Model View Presenter Architecture
Code Camp 06   Model View Presenter ArchitectureCode Camp 06   Model View Presenter Architecture
Code Camp 06 Model View Presenter Architecturebitburner93
 
MVC development company in UK.
MVC development company in UK.MVC development company in UK.
MVC development company in UK.Techrishblogger
 
WPF with MVVM: From the Trenches
WPF with MVVM: From the TrenchesWPF with MVVM: From the Trenches
WPF with MVVM: From the TrenchesBrent Edwards
 
MVVM Design Pattern NDC2009
MVVM Design Pattern NDC2009MVVM Design Pattern NDC2009
MVVM Design Pattern NDC2009Jonas Follesø
 
Automated Unit Testing in Silverlight for Windows Phone 7
Automated Unit Testing in Silverlight for Windows Phone 7Automated Unit Testing in Silverlight for Windows Phone 7
Automated Unit Testing in Silverlight for Windows Phone 7Jacinto Limjap
 
MV(C, mvvm) in iOS and ReactiveCocoa
MV(C, mvvm) in iOS and ReactiveCocoaMV(C, mvvm) in iOS and ReactiveCocoa
MV(C, mvvm) in iOS and ReactiveCocoaYi-Shou Chen
 
Android App Architecture
Android App ArchitectureAndroid App Architecture
Android App ArchitectureTai Dang
 
Model View ViewModel
Model View ViewModelModel View ViewModel
Model View ViewModelDoncho Minkov
 
Ppt of Basic MVC Structure
Ppt of Basic MVC StructurePpt of Basic MVC Structure
Ppt of Basic MVC StructureDipika Wadhvani
 
Principles of MVC for PHP Developers
Principles of MVC for PHP DevelopersPrinciples of MVC for PHP Developers
Principles of MVC for PHP DevelopersEdureka!
 
SoftServe - "ASP.NET MVC як наступний крок у розвитку технології розробки Web...
SoftServe - "ASP.NET MVC як наступний крок у розвитку технології розробки Web...SoftServe - "ASP.NET MVC як наступний крок у розвитку технології розробки Web...
SoftServe - "ASP.NET MVC як наступний крок у розвитку технології розробки Web...SoftServe
 
Introduction to mvc architecture
Introduction to mvc architectureIntroduction to mvc architecture
Introduction to mvc architectureravindraquicsolv
 
Models used in iOS programming, with a focus on MVVM
Models used in iOS programming, with a focus on MVVMModels used in iOS programming, with a focus on MVVM
Models used in iOS programming, with a focus on MVVMAndrei Popa
 

Semelhante a MVVM (20)

Building an enterprise app in silverlight 4 and NHibernate
Building an enterprise app in silverlight 4 and NHibernateBuilding an enterprise app in silverlight 4 and NHibernate
Building an enterprise app in silverlight 4 and NHibernate
 
Modern ASP.NET Webskills
Modern ASP.NET WebskillsModern ASP.NET Webskills
Modern ASP.NET Webskills
 
Introdução ao ASP .NET MVC - C. Augusto Proiete
Introdução ao ASP .NET MVC - C. Augusto ProieteIntrodução ao ASP .NET MVC - C. Augusto Proiete
Introdução ao ASP .NET MVC - C. Augusto Proiete
 
Ios models
Ios modelsIos models
Ios models
 
Code Camp 06 Model View Presenter Architecture
Code Camp 06   Model View Presenter ArchitectureCode Camp 06   Model View Presenter Architecture
Code Camp 06 Model View Presenter Architecture
 
MVC development company in UK.
MVC development company in UK.MVC development company in UK.
MVC development company in UK.
 
WPF with MVVM: From the Trenches
WPF with MVVM: From the TrenchesWPF with MVVM: From the Trenches
WPF with MVVM: From the Trenches
 
Training: MVVM Pattern
Training: MVVM PatternTraining: MVVM Pattern
Training: MVVM Pattern
 
Introdução ao ASP .NET MVC
Introdução ao ASP .NET MVCIntrodução ao ASP .NET MVC
Introdução ao ASP .NET MVC
 
MVVM Design Pattern NDC2009
MVVM Design Pattern NDC2009MVVM Design Pattern NDC2009
MVVM Design Pattern NDC2009
 
Automated Unit Testing in Silverlight for Windows Phone 7
Automated Unit Testing in Silverlight for Windows Phone 7Automated Unit Testing in Silverlight for Windows Phone 7
Automated Unit Testing in Silverlight for Windows Phone 7
 
MV(C, mvvm) in iOS and ReactiveCocoa
MV(C, mvvm) in iOS and ReactiveCocoaMV(C, mvvm) in iOS and ReactiveCocoa
MV(C, mvvm) in iOS and ReactiveCocoa
 
Android App Architecture
Android App ArchitectureAndroid App Architecture
Android App Architecture
 
Model View ViewModel
Model View ViewModelModel View ViewModel
Model View ViewModel
 
Ppt of Basic MVC Structure
Ppt of Basic MVC StructurePpt of Basic MVC Structure
Ppt of Basic MVC Structure
 
Principles of MVC for PHP Developers
Principles of MVC for PHP DevelopersPrinciples of MVC for PHP Developers
Principles of MVC for PHP Developers
 
SoftServe - "ASP.NET MVC як наступний крок у розвитку технології розробки Web...
SoftServe - "ASP.NET MVC як наступний крок у розвитку технології розробки Web...SoftServe - "ASP.NET MVC як наступний крок у розвитку технології розробки Web...
SoftServe - "ASP.NET MVC як наступний крок у розвитку технології розробки Web...
 
Windows phone 8 (mvvm)
Windows phone 8 (mvvm)Windows phone 8 (mvvm)
Windows phone 8 (mvvm)
 
Introduction to mvc architecture
Introduction to mvc architectureIntroduction to mvc architecture
Introduction to mvc architecture
 
Models used in iOS programming, with a focus on MVVM
Models used in iOS programming, with a focus on MVVMModels used in iOS programming, with a focus on MVVM
Models used in iOS programming, with a focus on MVVM
 

Mais de Felipe Pimentel

Maratona Windows Phone 7
Maratona Windows Phone 7Maratona Windows Phone 7
Maratona Windows Phone 7Felipe Pimentel
 
Proposta planos digaonde
Proposta planos digaondeProposta planos digaonde
Proposta planos digaondeFelipe Pimentel
 
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0Felipe Pimentel
 
[CLPE] Visual Studio 2010
[CLPE] Visual Studio 2010[CLPE] Visual Studio 2010
[CLPE] Visual Studio 2010Felipe Pimentel
 
[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2Felipe Pimentel
 
[CLPE] Novidades do Asp.net 4
[CLPE] Novidades do Asp.net 4[CLPE] Novidades do Asp.net 4
[CLPE] Novidades do Asp.net 4Felipe Pimentel
 
[CLPE] Design patterns com c#
[CLPE] Design patterns com c#[CLPE] Design patterns com c#
[CLPE] Design patterns com c#Felipe Pimentel
 
[CLPE] Novidades do Entity Framework 4
[CLPE] Novidades do Entity Framework 4[CLPE] Novidades do Entity Framework 4
[CLPE] Novidades do Entity Framework 4Felipe Pimentel
 
ASP.NET WebForms x ASP.NET MVC
ASP.NET WebForms x ASP.NET MVCASP.NET WebForms x ASP.NET MVC
ASP.NET WebForms x ASP.NET MVCFelipe Pimentel
 

Mais de Felipe Pimentel (10)

Maratona Windows Phone 7
Maratona Windows Phone 7Maratona Windows Phone 7
Maratona Windows Phone 7
 
Proposta planos digaonde
Proposta planos digaondeProposta planos digaonde
Proposta planos digaonde
 
[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0[CLPE] Novidades do .net Framework 4.0
[CLPE] Novidades do .net Framework 4.0
 
[CLPE] Visual Studio 2010
[CLPE] Visual Studio 2010[CLPE] Visual Studio 2010
[CLPE] Visual Studio 2010
 
[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2
 
[CLPE] Novidades do Asp.net 4
[CLPE] Novidades do Asp.net 4[CLPE] Novidades do Asp.net 4
[CLPE] Novidades do Asp.net 4
 
[CLPE] Design patterns com c#
[CLPE] Design patterns com c#[CLPE] Design patterns com c#
[CLPE] Design patterns com c#
 
[CLPE] Novidades do Entity Framework 4
[CLPE] Novidades do Entity Framework 4[CLPE] Novidades do Entity Framework 4
[CLPE] Novidades do Entity Framework 4
 
ASP.NET WebForms x ASP.NET MVC
ASP.NET WebForms x ASP.NET MVCASP.NET WebForms x ASP.NET MVC
ASP.NET WebForms x ASP.NET MVC
 
Windows Phone 7
Windows Phone 7Windows Phone 7
Windows Phone 7
 

MVVM

  • 3. Felipe Pimentel FelipePimentell felipejfp@hotmail.com fpimentel88 felipe.pimentel@2pc.com.br http://felipepimentel.net
  • 5. Agenda O que é? O que faz? Quando usar? Variações? Light Toolkit Demo!!!
  • 6. “Mais outro M* alguma coisa?” MVP MVC MV?????
  • 7. O que é MVVM? Padrão de arquitetura de apresentação Separando responsabilidades Isolar designers e desenvolvedores? Facilita os testes
  • 8. Por que do MVVM? Fatores tecnologicos Databinds INotifyPropertyChanged IValueConverter Modelo de eventos utilizando ICommand
  • 9. MVVM Model View DataBinding Presentation Model (ViewModel)
  • 10. ModelMVVM Represents the data The entity Not required to know where it gets its data from From a WCF service. WCF RIA Services, etc May contain validation
  • 11. ViewMVVM The screen, the UI, the UserControl in Silverlight Handles UI look and feel Presentation of information Communicates with ViewModel through bindings
  • 12. ViewModelMVVM Conhecido por PresenterModel Main source of logic for the MVVM triad Connects the Model to the View Abstracts the View Public properties that are bound to a View INotifyPropertyChanged and INotifyCollectionChanged talk to the View through bindings Listens for changes from the View through bindings Invokes services to communicate outside the MVVM triad
  • 13. MVVM DEMO!!!! DEMO!!! DEMO!! DEMO!
  • 14. Referências John Papa - http://johnpapa.net/ http://www.galasoft.ch/mvvm/getstarted/ http://msdn.microsoft.com/en-us/magazine/dd419663.aspx http://virtualdreams.com.br