Top Banner
25

UI Application Logic Out of the box approach View ViewModel Model Model-View-ViewModel (MVVM)

Dec 15, 2015

Download

Documents

Karissa Terrill
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: UI Application Logic Out of the box approach View ViewModel Model Model-View-ViewModel (MVVM)
Page 2: UI Application Logic Out of the box approach View ViewModel Model Model-View-ViewModel (MVVM)

Building an MVVM-Based Architecture That WorksChris [email protected]@ZeroKoll

DEV-B304

Page 3: UI Application Logic Out of the box approach View ViewModel Model Model-View-ViewModel (MVVM)

Who is that guy?

Page 4: UI Application Logic Out of the box approach View ViewModel Model Model-View-ViewModel (MVVM)

Welcome to the messed up world that is my head!

Page 5: UI Application Logic Out of the box approach View ViewModel Model Model-View-ViewModel (MVVM)

Shu Ha Ri”first learn, then detach, and finally transcend”

Page 6: UI Application Logic Out of the box approach View ViewModel Model Model-View-ViewModel (MVVM)
Page 7: UI Application Logic Out of the box approach View ViewModel Model Model-View-ViewModel (MVVM)

Architecture is the differentiator

Page 8: UI Application Logic Out of the box approach View ViewModel Model Model-View-ViewModel (MVVM)

Simplify development or maintenance

Page 9: UI Application Logic Out of the box approach View ViewModel Model Model-View-ViewModel (MVVM)

UI

Application Logic

Out of the box approach

View

ViewModel

Model

Model-View-ViewModel (MVVM)

Page 10: UI Application Logic Out of the box approach View ViewModel Model Model-View-ViewModel (MVVM)

View

ViewModel

Services

Model

Page 11: UI Application Logic Out of the box approach View ViewModel Model Model-View-ViewModel (MVVM)

View

ViewModel

Services

ModelPlatform-specific

functionality

Page 12: UI Application Logic Out of the box approach View ViewModel Model Model-View-ViewModel (MVVM)

Portable Class LibraryForcing separation / guiding architecture

Page 13: UI Application Logic Out of the box approach View ViewModel Model Model-View-ViewModel (MVVM)

Portable/Common

Platform specific

View

ViewModel

Services

ModelPlatform-specific

functionality

Service Implementation

Platform specific

Portable/Common

Page 14: UI Application Logic Out of the box approach View ViewModel Model Model-View-ViewModel (MVVM)

To framework or not to frameworkNuGet, BYO or maybe “plain vanilla”

Page 15: UI Application Logic Out of the box approach View ViewModel Model Model-View-ViewModel (MVVM)

Dependency Inversion

Page 16: UI Application Logic Out of the box approach View ViewModel Model Model-View-ViewModel (MVVM)

Options for DISingletonFactoryService LocatorDependency Injection

Page 17: UI Application Logic Out of the box approach View ViewModel Model Model-View-ViewModel (MVVM)

VM <> V CommunicationCoupling, interfaces or bindings

Page 18: UI Application Logic Out of the box approach View ViewModel Model Model-View-ViewModel (MVVM)

VM <> VM CommunicationEvents, callbacks or event aggregator

Page 19: UI Application Logic Out of the box approach View ViewModel Model Model-View-ViewModel (MVVM)

AsynchronocityYes…you have to go there…

Page 20: UI Application Logic Out of the box approach View ViewModel Model Model-View-ViewModel (MVVM)

Action<T> || async/awaitFlexible and easy to use || Simple, easy and integratedManual threading || SimplicityBackwards compatible || NuGet Microsoft.Bcl.Async

Page 21: UI Application Logic Out of the box approach View ViewModel Model Model-View-ViewModel (MVVM)

Useful platform abstractionsNavigationService, Dispatcher, Application

Page 22: UI Application Logic Out of the box approach View ViewModel Model Model-View-ViewModel (MVVM)

Questions?”There is no such thing as a stupid question”

[email protected]@ZeroKollhttp://chris.59north.com/

Page 23: UI Application Logic Out of the box approach View ViewModel Model Model-View-ViewModel (MVVM)

msdn

Resources for Developers

http://microsoft.com/msdn

Learning

Microsoft Certification & Training Resources

www.microsoft.com/learning

TechNet

Resources

Sessions on Demand

http://channel9.msdn.com/Events/TechEd

Resources for IT Professionals

http://microsoft.com/technet

Page 24: UI Application Logic Out of the box approach View ViewModel Model Model-View-ViewModel (MVVM)

Evaluate this session

Scan this QR code to evaluate this session.

Page 25: UI Application Logic Out of the box approach View ViewModel Model Model-View-ViewModel (MVVM)

© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.