building testable silverlight and wpf applications wih caliburn micro

22
© 2010 Aviva Solutions 22-06-22 Testable Silverlight/WPF Apps Dennis Doomen With

Upload: dennis-doomen

Post on 13-Jan-2015

2.800 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Building testable Silverlight and WPF applications wih Caliburn Micro

© 2010 Aviva Solutions 10 april 2023

Testable Silverlight/WPF Apps

Dennis Doomen

With

Page 2: Building testable Silverlight and WPF applications wih Caliburn Micro

© 2010 Aviva Solutions 10 april 2023Dennis Doomen

Model View-ViewModel

XAML (+C#) ViewModel

Model

ServiceAgent

    INotifyPropertyChanged

Loads

Events

{Binding}

CommandCall

Page 3: Building testable Silverlight and WPF applications wih Caliburn Micro

© 2010 Aviva Solutions 10 april 2023Dennis Doomen

Asynchronity

Thread Marshaling

WCF Data Services

WCF, RIA or Data

Shell-View Life Cycle Mgmt

Untyped PropertyChanged

Inter-VM Communication

Bootstrapping

Command = Ugly Code

Interception

Hooking Views to VMs No IObservableCollection

Challenges

Page 4: Building testable Silverlight and WPF applications wih Caliburn Micro

© 2010 Aviva Solutions 10 april 2023

Basic Example

Page 5: Building testable Silverlight and WPF applications wih Caliburn Micro

© 2010 Aviva Solutions 10 april 2023Dennis Doomen

Solves Testability Bootstrapping Untyped PropertyChanged Thread Marshaling Hooking Views to VMs Command = Ugly Code

Page 6: Building testable Silverlight and WPF applications wih Caliburn Micro

© 2010 Aviva Solutions 10 april 2023

Collection Example

Page 7: Building testable Silverlight and WPF applications wih Caliburn Micro

© 2010 Aviva Solutions 10 april 2023Dennis Doomen

Solves Testability No IObservableCollection Command = Ugly Code

Page 8: Building testable Silverlight and WPF applications wih Caliburn Micro

© 2010 Aviva Solutions 10 april 2023

Inversion of Control Example

Page 9: Building testable Silverlight and WPF applications wih Caliburn Micro

© 2010 Aviva Solutions 10 april 2023Dennis Doomen

Solves Testability Hooking Views to VMs Command = Ugly Code

Page 10: Building testable Silverlight and WPF applications wih Caliburn Micro

© 2010 Aviva Solutions 10 april 2023

Coroutine Example

Page 11: Building testable Silverlight and WPF applications wih Caliburn Micro

© 2010 Aviva Solutions 10 april 2023Dennis Doomen

Solves Testability Asynchrony

Page 12: Building testable Silverlight and WPF applications wih Caliburn Micro

© 2010 Aviva Solutions 10 april 2023

Screens and Conductors Example

Page 13: Building testable Silverlight and WPF applications wih Caliburn Micro

© 2010 Aviva Solutions 10 april 2023Dennis Doomen

Solves Testability Hooking Views to VMs Shell-View Life Cycle Management

Page 14: Building testable Silverlight and WPF applications wih Caliburn Micro

© 2010 Aviva Solutions 10 april 2023

Business Navigation Example

Page 15: Building testable Silverlight and WPF applications wih Caliburn Micro

© 2010 Aviva Solutions 10 april 2023Dennis Doomen

Solves Testability Hooking Views to VMs Shell-View Life Cycle Management

Page 16: Building testable Silverlight and WPF applications wih Caliburn Micro

© 2010 Aviva Solutions 10 april 2023

Event Aggregation Example

Page 17: Building testable Silverlight and WPF applications wih Caliburn Micro

© 2010 Aviva Solutions 10 april 2023Dennis Doomen

Solves Testability Inter-View Model communication

Page 18: Building testable Silverlight and WPF applications wih Caliburn Micro

© 2010 Aviva Solutions 10 april 2023

Action Filters Example

Page 19: Building testable Silverlight and WPF applications wih Caliburn Micro

© 2010 Aviva Solutions 10 april 2023Dennis Doomen

Solves Interception

Page 20: Building testable Silverlight and WPF applications wih Caliburn Micro

© 2010 Aviva Solutions 10 april 2023Dennis Doomen

In summary Inter-VM Communication Untyped PropertyChanged Bootstrapping Thread Marshaling Interception WCF, RIA or Data Hooking Views to VMs No IObservableCollection Asynchronity Shell-View Life Cycle Mgmt WCF Data Services Command = Ugly Code

Page 22: Building testable Silverlight and WPF applications wih Caliburn Micro

© 2010 Aviva Solutions 10 april 2023

[email protected]

Twitter@ddoomen

Blogwww.dennisdoomen.net