building testable silverlight and wpf applications wih caliburn micro
DESCRIPTION
TRANSCRIPT
![Page 1: Building testable Silverlight and WPF applications wih Caliburn Micro](https://reader035.vdocuments.mx/reader035/viewer/2022062510/54b4e00f4a7959a2458b45bd/html5/thumbnails/1.jpg)
© 2010 Aviva Solutions 10 april 2023
Testable Silverlight/WPF Apps
Dennis Doomen
With
![Page 2: Building testable Silverlight and WPF applications wih Caliburn Micro](https://reader035.vdocuments.mx/reader035/viewer/2022062510/54b4e00f4a7959a2458b45bd/html5/thumbnails/2.jpg)
© 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](https://reader035.vdocuments.mx/reader035/viewer/2022062510/54b4e00f4a7959a2458b45bd/html5/thumbnails/3.jpg)
© 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](https://reader035.vdocuments.mx/reader035/viewer/2022062510/54b4e00f4a7959a2458b45bd/html5/thumbnails/4.jpg)
© 2010 Aviva Solutions 10 april 2023
Basic Example
![Page 5: Building testable Silverlight and WPF applications wih Caliburn Micro](https://reader035.vdocuments.mx/reader035/viewer/2022062510/54b4e00f4a7959a2458b45bd/html5/thumbnails/5.jpg)
© 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](https://reader035.vdocuments.mx/reader035/viewer/2022062510/54b4e00f4a7959a2458b45bd/html5/thumbnails/6.jpg)
© 2010 Aviva Solutions 10 april 2023
Collection Example
![Page 7: Building testable Silverlight and WPF applications wih Caliburn Micro](https://reader035.vdocuments.mx/reader035/viewer/2022062510/54b4e00f4a7959a2458b45bd/html5/thumbnails/7.jpg)
© 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](https://reader035.vdocuments.mx/reader035/viewer/2022062510/54b4e00f4a7959a2458b45bd/html5/thumbnails/8.jpg)
© 2010 Aviva Solutions 10 april 2023
Inversion of Control Example
![Page 9: Building testable Silverlight and WPF applications wih Caliburn Micro](https://reader035.vdocuments.mx/reader035/viewer/2022062510/54b4e00f4a7959a2458b45bd/html5/thumbnails/9.jpg)
© 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](https://reader035.vdocuments.mx/reader035/viewer/2022062510/54b4e00f4a7959a2458b45bd/html5/thumbnails/10.jpg)
© 2010 Aviva Solutions 10 april 2023
Coroutine Example
![Page 11: Building testable Silverlight and WPF applications wih Caliburn Micro](https://reader035.vdocuments.mx/reader035/viewer/2022062510/54b4e00f4a7959a2458b45bd/html5/thumbnails/11.jpg)
© 2010 Aviva Solutions 10 april 2023Dennis Doomen
Solves Testability Asynchrony
![Page 12: Building testable Silverlight and WPF applications wih Caliburn Micro](https://reader035.vdocuments.mx/reader035/viewer/2022062510/54b4e00f4a7959a2458b45bd/html5/thumbnails/12.jpg)
© 2010 Aviva Solutions 10 april 2023
Screens and Conductors Example
![Page 13: Building testable Silverlight and WPF applications wih Caliburn Micro](https://reader035.vdocuments.mx/reader035/viewer/2022062510/54b4e00f4a7959a2458b45bd/html5/thumbnails/13.jpg)
© 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](https://reader035.vdocuments.mx/reader035/viewer/2022062510/54b4e00f4a7959a2458b45bd/html5/thumbnails/14.jpg)
© 2010 Aviva Solutions 10 april 2023
Business Navigation Example
![Page 15: Building testable Silverlight and WPF applications wih Caliburn Micro](https://reader035.vdocuments.mx/reader035/viewer/2022062510/54b4e00f4a7959a2458b45bd/html5/thumbnails/15.jpg)
© 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](https://reader035.vdocuments.mx/reader035/viewer/2022062510/54b4e00f4a7959a2458b45bd/html5/thumbnails/16.jpg)
© 2010 Aviva Solutions 10 april 2023
Event Aggregation Example
![Page 17: Building testable Silverlight and WPF applications wih Caliburn Micro](https://reader035.vdocuments.mx/reader035/viewer/2022062510/54b4e00f4a7959a2458b45bd/html5/thumbnails/17.jpg)
© 2010 Aviva Solutions 10 april 2023Dennis Doomen
Solves Testability Inter-View Model communication
![Page 18: Building testable Silverlight and WPF applications wih Caliburn Micro](https://reader035.vdocuments.mx/reader035/viewer/2022062510/54b4e00f4a7959a2458b45bd/html5/thumbnails/18.jpg)
© 2010 Aviva Solutions 10 april 2023
Action Filters Example
![Page 19: Building testable Silverlight and WPF applications wih Caliburn Micro](https://reader035.vdocuments.mx/reader035/viewer/2022062510/54b4e00f4a7959a2458b45bd/html5/thumbnails/19.jpg)
© 2010 Aviva Solutions 10 april 2023Dennis Doomen
Solves Interception
![Page 20: Building testable Silverlight and WPF applications wih Caliburn Micro](https://reader035.vdocuments.mx/reader035/viewer/2022062510/54b4e00f4a7959a2458b45bd/html5/thumbnails/20.jpg)
© 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 21: Building testable Silverlight and WPF applications wih Caliburn Micro](https://reader035.vdocuments.mx/reader035/viewer/2022062510/54b4e00f4a7959a2458b45bd/html5/thumbnails/21.jpg)
© 2010 Aviva Solutions 10 april 2023
Background InformationCaliburn Micro, Presentation Patterns
Example Code, FrameworksThe CQRS Kitchen, Rhino Mocks, Fluent Assertions