Today you can watch my PDC 2010 session titled “Kung Fu Silverlight: Tips and Architectural Patterns and Practices”. Here is the summary of the session:
Learn about the rewards of using RIA Services together with development patterns, such as the Service Providers, Single Responsibility pattern, Commanding, user Interactions, Messaging, ChildWindows, Design Time Data, Testing, and developing using the Model-View-ViewModel (MVVM) pattern, to build Silverlight and Windows Phone applications. Hear the top tips you need to know for building data driven Silverlight applications that solve real world problems.
The session covers quite a bit, and I plan on expanding on these topics in the near future on Silverlight TV and at the Silverlight Firestarter on Dec 2, 2010. The point I try to get across in this session is that you can build a Silverlight application using consistent patterns without having to be a rocket scientist. I demonstrate many of the common patterns used with Silverlight applications and show both how to use them and also why they are helpful/important.
For example, I show how I use a ViewModelLocator and abstracted services to make it easy to see design time data … but more importantly, I talk about WHY I do this. I am not a designer, but there are key elements to design time data that help me test my code at design time.
Spoiler alert!: I also intentionally do not show RIA Services until the very end. You will notice that I have the full power of RIA Services in this application without compromising any of my architecture. One of the keys here is using Separation of Concerns (SoC) by abstracting my services from the ViewModel. Please watch to find out more
I’ll go deeper into each of these topic in a series of posts and Silverlight TV episodes in the near future. But for now check out this talk and if you take anything away from it please grasp that
- Separation of concerns is good
- You can do MVVM and get all the goodness that comes with it
- Design time data is immensely helpful
- RIA Services fits into MVVM
- John will follow up with deeper dives
The full deck is available online at the PDC link, or you can grab the deck by clicking the image below …
… and you can grab the full source for the demo app I showed by clicking this image …
Note: I want to thank the WCF RIA Services team for working with me and accepting my feedback on how RIA Services integrates with MVVM and other patterns. They have been very supportive of integrating their platform with patterns and continue to look for ways to make it more powerful.