MVVM Resources

List of useful MVVM bits that I want to keep track of, probably with a focus on Silverlight rather than WPF as that is what I’m working with. Submissions welcome.

Introduction / Tutorials / …

Josh Smith: WPF Apps with the MVVM Design Pattern on MSDN
Josh Smith: Advanced MVVM (book, not free)
Jeremy Likeness: Model View ViewModel Explained

Background Reading

Pete Brown: Essential Silverlight and WPF Skills: The UI Thread, Dispatchers, Background Workers and Async Network Programming

Martin Fowler: Inversion of Control and Dependency Injection. Contains a useful discussion of IoC vs. Service Locator

MVVM Frameworks

MVVM Light
Prism (Composite Application Guidance)
Caliburn

Building your own MVVM bits

MIX 10 Video: Build Your Own MVVM Framework

Primordial Code MVVM Series Part 1, Part 2, Part 3

Asynchronous Programming

Not just MVVM related, but ties in nicely with the seperation of concerns principles and using MVVM in Silverlight.

Using iterators to implement coroutines for sequential, asynchronous workflows:
A great set of articles from Jeremy Likness talking about using iterators with yield to implement coroutines, thus providing a single-method asynchronous workflow.

Sequential Asynchronous Workflows Part 1
Sequential Asynchronous Workflows Part 2