You've seen them. Those really big view models that take on far too much responsibility. They send messages to other view models, they call services, and they run business logic. It's really hard to understand how these things work, and even harder to avoid breaking them when they need to change.
See how the message bus pattern -- far from its original intent -- is actually coupling your view models. See why business logic always seems to end up in the wrong layer. And most importantly, learn a better alternative.
Writing clean view models is easy, but only if you have the tools to help you.
Software is math. Every class is a theorem. The compiler is the proof. And unit tests check our work.
Michael has recorded Pluralsight courses on CQRS, XAML Patterns, and Cryptography, in addition to Provable Code. He maintains the spoon-bending Assisticant, Correspondence, and Jinaga open-source libraries. He podcasts about the intersection between software and mathematics at qedcode.com. And he helps his clients at Improving Enterprises benefit from the power of software mathematics.