80 likes | 183 Views
Developing for Windows 8/ WinRT Session 10. Introduction to Interknowlogy’s WinRT MVVM Framework. Kevin Stumpf. Agenda. Framework Architecture Sample App Development Blank App Setup Navigation View States Q&A + Homework Assignment. Legend. WinRTContainer (Framework Entry Point).
E N D
Developing for Windows 8/WinRTSession 10 Introduction to Interknowlogy’sWinRT MVVM Framework Kevin Stumpf
Agenda • Framework Architecture • Sample App Development • Blank App Setup • Navigation • View States • Q&A + Homework Assignment
Legend WinRTContainer (Framework Entry Point) instantiate WinRT Framework consists of YOU Developer Managers (Framework Core) use Search Contract Share Contract Navigation Manager Settings Manager bridge Settings Contract Navigation Flow View<->VM IoC Sharing Manager Search Manager Mapper Adapter Generalizes access Analyze implemented interfaces WinRT bridge IoC (optional) provides Services ViewModel Interfaces implement uses Navigation Service ICareAboutXYZ Sharing Service View IRequireXYZ ISupportXYZ
Interface Naming Schema • ICareAboutXYZ: ViewModel wants to be informed about certain events (e.g. ICareAboutNavigationFlow, ICareAboutSuspendResume) • IRequireXYZ: ViewModel requires Feature-Controllers (e.g. IRequireNavigationService, IRequireSharingService) • ISupportXYZ:ViewModel supports a feature (e.g. ISupportSearchContract, ISupportSharingSourceContract)
Optional simplifying Default Classes • DefaultApplication: Takes care of the initialization of the framework and offers several points you can hook into to customize behavior • DefaultIoCAdapter: Rudimentary IoC Container • DefaultViewViewModelMapper:Rudimentary View<->ViewModel Mapper • DefaultViewModel: Rudimentary ViewModel which implements all Framework Interfaces and allows you to override their functionality
Homework Assignment • Develop a diary application from scratch yourself which consists of a main entry page, which lists all diary entries, and another page, which allows you to read and modify a selected diary entry
Meet Danny May 6th for our 11thsession! InterKnowlogy’sWinRT MVVM Framework Part II