Building testable Silverlight and WPF applications wih Caliburn Micro

2,772 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,772
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
29
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Building testable Silverlight and WPF applications wih Caliburn Micro

  1. 1. TestableSilverlight/WPF Apps<br />With<br />Dennis Doomen<br />
  2. 2. Dennis Doomen<br />Model View-ViewModel<br />INotifyPropertyChanged<br />Events<br />XAML (+C#)<br />ViewModel<br />ServiceAgent<br />{Binding}<br />Command<br />Call<br />Model<br />Loads<br />
  3. 3. Dennis Doomen<br />Inter-VM Communication<br />UntypedPropertyChanged<br />Thread Marshaling<br />Bootstrapping<br />Challenges<br />WCF, RIA or Data<br />Interception<br />Hooking Views toVMs<br />No IObservableCollection<br />Asynchronity<br />Shell-View Life CycleMgmt<br />WCF Data Services<br />Command = Ugly Code<br />
  4. 4. Basic Example<br />
  5. 5. Dennis Doomen<br />Solves<br /><ul><li>Testability
  6. 6. Bootstrapping
  7. 7. UntypedPropertyChanged
  8. 8. Thread Marshaling
  9. 9. HookingViews toVMs
  10. 10. Command= Ugly Code</li></li></ul><li>Collection Example<br />
  11. 11. Dennis Doomen<br />Solves<br /><ul><li>Testability
  12. 12. No IObservableCollection
  13. 13. Command = Ugly Code</li></li></ul><li>Inversion of Control Example<br />
  14. 14. Dennis Doomen<br />Solves<br /><ul><li>Testability
  15. 15. Hooking Views toVMs
  16. 16. Command = Ugly Code</li></li></ul><li>Coroutine Example<br />
  17. 17. Dennis Doomen<br />Solves<br /><ul><li>Testability
  18. 18. Asynchrony</li></li></ul><li>Screensand Conductors Example<br />
  19. 19. Dennis Doomen<br />Solves<br /><ul><li>Testability
  20. 20. Hooking Views toVMs
  21. 21. Shell-View Life Cycle Management</li></li></ul><li>Business NavigationExample<br />
  22. 22. Dennis Doomen<br />Solves<br /><ul><li>Testability
  23. 23. Hooking Views toVMs
  24. 24. Shell-View Life Cycle Management</li></li></ul><li>Event AggregationExample<br />
  25. 25. Dennis Doomen<br />Solves<br /><ul><li>Testability
  26. 26. Inter-View Model communication</li></li></ul><li>Action Filters Example<br />
  27. 27. Dennis Doomen<br />Solves<br /><ul><li>Interception</li></li></ul><li>Dennis Doomen<br />In summary<br /><ul><li>Inter-VM Communication
  28. 28. UntypedPropertyChanged
  29. 29. Bootstrapping
  30. 30. Thread Marshaling
  31. 31. Interception
  32. 32. WCF, RIA or Data
  33. 33. Hooking Views toVMs
  34. 34. No IObservableCollection
  35. 35. Asynchronity
  36. 36. Shell-View Life CycleMgmt
  37. 37. WCF Data Services
  38. 38. Command = Ugly Code</li></li></ul><li>Background InformationCaliburn Micro, Presentation Patterns<br />Example Code, FrameworksThe CQRS Kitchen, RhinoMocks, FluentAssertions<br />
  39. 39. Emaildennis.doomen@avivasolutions.nl<br />Twitter<br />@ddoomen<br />Blogwww.dennisdoomen.net<br />

×