Karl Schifflett, one of the key players in the WPF arena, is now working at Microsoft. I don’t follow him close enough to know when he made the switch (I think earlier this year), but I am hoping that this will start to clear some of the waters.
The WPF Toolkit on the CodePlex website gives us a project template from the folks working on WPF at Microsoft. This is a great start, but it collides in some regards with Karl’s work in the Power Toys. On top of that, there are very respectable folks out there blogging their thoughts and pattern approaches to MVVM for both WPF and Silverlight.
I know that patterns are just that: patterns. They aren’t the be-all and end-all of development practices and you can’t adopt them as policy. BUT, I would argue, those who share that view – and take an honest look at it – also know that using patterns in everything you do is a little bit of an academia dream.
I’m fortunate at the company I’m at now, but previously I have had very few managers who know GoF-speak. In fact, as recently as the last few years I have worked at shops where they wrote, flat-out adopt patterns as policies as the law, failing your code review if you don’t use the pattern as a law-abiding coder should…even if it’s the worst possible approach to the solution.
So when I say I’m hoping for clearer waters in the MVVM pattern, I’m not asking for one source of guidance that I can accept as law; rather, I’m hoping that – with some of the bigger minds in this space now working together – that the tools and the pattern can start to enjoy a more unified growth.
Ultimately, what would be nice, is when we as developers can sit in a room together, bring up MVVM and not all have a different picture in our minds as to what we’re actually talking about. I’ve never, in bringing up Abstract Factory, been asked, “Oh, do you mean Frank Geevers implementation, or Garry Frank’s?” It’s just…Abstract Factory. And people get it.
I’m getting the feeling we’re getting close to this. There is a good set of WPF folks at MS, the developer credited with MVVM works there, now Karl, Jamie Rodriguez as well…
I guess the one drawback would be the other side of the trap: Microsoft releases a toolkit and guidance on the Patterns & Practices web site and then managers start making that the law…and likely for web services, too. :oS