<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Lab49 Blog &#187; MVVM</title>
	<atom:link href="http://blog.lab49.com/archives/category/design-patterns/mvvm/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.lab49.com</link>
	<description>Technology and industry insights from Lab49.</description>
	<lastBuildDate>Wed, 08 Feb 2012 09:02:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Caliburn–Hasta la Vista</title>
		<link>http://goldmanalpha.wordpress.com/2011/09/13/caliburnhasta-la-vista/</link>
		<comments>http://goldmanalpha.wordpress.com/2011/09/13/caliburnhasta-la-vista/#comments</comments>
		<pubDate>Tue, 13 Sep 2011 13:30:04 +0000</pubDate>
		<dc:creator>Aaron Goldman</dc:creator>
				<category><![CDATA[MVVM]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">https://goldmanalpha.wordpress.com/?p=1240</guid>
		<description><![CDATA[My Caliburn project is over.  A couple of thoughts. I liked Caliburn Micro.  The best thing was that it makes it easy to connect events and methods &#8212; where you would normally use a DelegateCommand/ICommand and binding, now you get simple by convention auto wireup.  The worst thing is that using convention to autowire VM [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=goldmanalpha.wordpress.com&#38;blog=9682964&#38;post=1240&#38;subd=goldmanalpha&#38;ref=&#38;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>My Caliburn project is over.  A couple of thoughts.</p>
<p>I liked <a href="http://caliburnmicro.codeplex.com/" >Caliburn Micro</a>.  The best thing was that it makes it easy to connect events and methods &#8212; where you would normally use a DelegateCommand/ICommand and binding, now you get simple by convention auto wireup.  The worst thing is that using convention to autowire VM to View doesn’t show mock data in Blend for my favorite mock data objects which are subclasses of the VM, so I ended up using explicit bindings in the Xaml and not using a big benefit of Caliburn.</p>
<p>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/goldmanalpha.wordpress.com/1240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/goldmanalpha.wordpress.com/1240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/goldmanalpha.wordpress.com/1240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/goldmanalpha.wordpress.com/1240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/goldmanalpha.wordpress.com/1240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/goldmanalpha.wordpress.com/1240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/goldmanalpha.wordpress.com/1240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/goldmanalpha.wordpress.com/1240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/goldmanalpha.wordpress.com/1240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/goldmanalpha.wordpress.com/1240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/goldmanalpha.wordpress.com/1240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/goldmanalpha.wordpress.com/1240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/goldmanalpha.wordpress.com/1240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/goldmanalpha.wordpress.com/1240/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=goldmanalpha.wordpress.com&amp;blog=9682964&amp;post=1240&amp;subd=goldmanalpha&amp;ref=&amp;feed=1" width="1" height="1" /></p>
]]></content:encoded>
			<wfw:commentRss>http://goldmanalpha.wordpress.com/2011/09/13/caliburnhasta-la-vista/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Caliburn Micro–Soup to Nuts</title>
		<link>http://goldmanalpha.wordpress.com/2011/08/08/caliburn-microsoup-to-nuts/</link>
		<comments>http://goldmanalpha.wordpress.com/2011/08/08/caliburn-microsoup-to-nuts/#comments</comments>
		<pubDate>Mon, 08 Aug 2011 12:04:25 +0000</pubDate>
		<dc:creator>Aaron Goldman</dc:creator>
				<category><![CDATA[MVVM]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">https://goldmanalpha.wordpress.com/2011/08/07/caliburn-microsoup-to-nuts/</guid>
		<description><![CDATA[Just getting into Caliburn Micro for a new Silverlight project.  I was a bit disappointed when I saw that the official cheat sheet was “coming soon”.  Rob Eisenberg made this excellent 9+ part Soup to Nuts tutorial and the Soup to Nuts section of the documentation has content, so the documentation for Caliburn is actually [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=goldmanalpha.wordpress.com&#38;blog=9682964&#38;post=1233&#38;subd=goldmanalpha&#38;ref=&#38;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Just getting into <a href="http://caliburnmicro.codeplex.com/">Caliburn Micro</a> for a new Silverlight project.  I was a bit disappointed when I saw that the official <a href="http://caliburnmicro.codeplex.com/wikipage?title=Cheat%20Sheet&amp;referringTitle=Documentation" >cheat sheet</a> was “coming soon”.  Rob Eisenberg made <a href="http://devlicio.us/blogs/rob_eisenberg/search.aspx?q=Caliburn.Micro+Soup+to+Nuts&amp;PageIndex=1" >this excellent 9+ part Soup to Nuts tutorial</a> and the Soup to Nuts section of the <a href="http://caliburnmicro.codeplex.com/documentation" >documentation</a> has content, so the documentation for Caliburn is actually pretty good.  Of course, both these resources suffer from <a href="http://goldmanalpha.wordpress.com/2010/10/11/the-death-of-the-long-form/" >the death of the long form</a>.  Once again I had to convert them to pdf so I could read them on the subway.  Maybe next time I’ll try <a href="http://www.htmldoc.org/" >this utility</a>.</p>
<p>In any case, I’m excited to try out Caliburn Micro and my experience so far has been positive, but more on that later.</p>
<p>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/goldmanalpha.wordpress.com/1233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/goldmanalpha.wordpress.com/1233/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/goldmanalpha.wordpress.com/1233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/goldmanalpha.wordpress.com/1233/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/goldmanalpha.wordpress.com/1233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/goldmanalpha.wordpress.com/1233/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/goldmanalpha.wordpress.com/1233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/goldmanalpha.wordpress.com/1233/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/goldmanalpha.wordpress.com/1233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/goldmanalpha.wordpress.com/1233/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/goldmanalpha.wordpress.com/1233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/goldmanalpha.wordpress.com/1233/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/goldmanalpha.wordpress.com/1233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/goldmanalpha.wordpress.com/1233/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=goldmanalpha.wordpress.com&amp;blog=9682964&amp;post=1233&amp;subd=goldmanalpha&amp;ref=&amp;feed=1" width="1" height="1" /></p>
]]></content:encoded>
			<wfw:commentRss>http://goldmanalpha.wordpress.com/2011/08/08/caliburn-microsoup-to-nuts/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ward Bell takes MVVM down from its pedestal to give it a good thrashing</title>
		<link>http://feedproxy.google.com/~r/DevelopmentInABlink/~3/Ti9DU4JJEW8/</link>
		<comments>http://feedproxy.google.com/~r/DevelopmentInABlink/~3/Ti9DU4JJEW8/#comments</comments>
		<pubDate>Mon, 23 May 2011 22:52:37 +0000</pubDate>
		<dc:creator>Doug Finke</dc:creator>
				<category><![CDATA[Advanced Visualization]]></category>
		<category><![CDATA[MVVM]]></category>

		<guid isPermaLink="false">http://www.dougfinke.com/blog/index.php/2011/05/23/ward-bell-takes-mvvm-down-from-its-pedestal-to-give-it-a-good-thrashing/</guid>
		<description><![CDATA[Billy Hollis is an MVVM skeptic who regularly takes Ward Bell and MVVM to task: MVVM is a way for code-addicted developers to deflect attention from the horrible designs they inflict on users MVVM complicates development with little or no compensating benefit There is too much strident, jargon-filled, punishing MVVM rhetoric that alienates the mass [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://slmasters.net/#/Home">Billy Hollis</a> is an <a href="http://msdn.microsoft.com/en-us/magazine/dd419663.aspx">MVVM</a> skeptic who regularly takes Ward Bell and MVVM to task:</p>
<ol>
<li>MVVM is a way for code-addicted developers to deflect attention from the horrible designs they inflict on users </li>
<li>MVVM complicates development with little or no compensating benefit </li>
<li>There is too much strident, jargon-filled, punishing MVVM rhetoric that alienates the mass of developers </li>
</ol>
<p>Here is Ward Bell’s post <a href="http://neverindoubtnet.blogspot.com/2011/05/mvvm-backlash.html">MVVM Backlash</a>.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.dougfinke.com%2Fblog%2Findex.php%2F2011%2F05%2F23%2Fward-bell-takes-mvvm-down-from-its-pedestal-to-give-it-a-good-thrashing%2F&amp;title=Ward%20Bell%20takes%20MVVM%20down%20from%20its%20pedestal%20to%20give%20it%20a%20good%20thrashing"><img src="http://www.dougfinke.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>
<p><img src="http://feeds.feedburner.com/~r/DevelopmentInABlink/~4/Ti9DU4JJEW8" height="1" width="1"/></p>
]]></content:encoded>
			<wfw:commentRss>http://feedproxy.google.com/~r/DevelopmentInABlink/~3/Ti9DU4JJEW8/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EventToCommand for Attached Property</title>
		<link>http://goldmanalpha.wordpress.com/2010/08/06/eventtocommand-for-attached-property/</link>
		<comments>http://goldmanalpha.wordpress.com/2010/08/06/eventtocommand-for-attached-property/#comments</comments>
		<pubDate>Fri, 06 Aug 2010 13:00:56 +0000</pubDate>
		<dc:creator>Aaron Goldman</dc:creator>
				<category><![CDATA[Advanced Visualization]]></category>
		<category><![CDATA[MVVM]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">https://goldmanalpha.wordpress.com/?p=779</guid>
		<description><![CDATA[To propagate events to a view to a ViewModel – use an attached property, not fancy xaml binding, but an attached property.  It says so right here in so many words.  So if you want MouseOver or DoubleClick, AutoComplete.Populating, etc. this is your answer. Here’s the example everyone points you to. The all purpose EventToCommand [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=goldmanalpha.wordpress.com&#38;blog=9682964&#38;post=779&#38;subd=goldmanalpha&#38;ref=&#38;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>To propagate events to a view to a ViewModel – use an attached property, not fancy xaml binding, but an attached property.  It says so <a href="http://www.netframeworkdev.com/windows-presentation-foundation-wpf/wpf-events-with-parameters-using-mvvm-microsoft-surface-24089.shtml">right here</a> in so many words.  So if you want MouseOver or DoubleClick, AutoComplete.Populating, etc. this is your answer.</p>
<p><a href="http://www.codeproject.com/KB/WPF/AttachedBehaviors.aspx">Here’s</a> the example everyone points you to.</p>
<p>The all purpose EventToCommand class in the <a href="http://mvvmlight.codeplex.com/">MVVM Light Toolkit</a> looks like the most convenient way to get this job done.</p>
<p>For any type of click, retemplating a button and using a ViewModel ICommand for its Command is the way to go.</p>
<p>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/goldmanalpha.wordpress.com/779/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/goldmanalpha.wordpress.com/779/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/goldmanalpha.wordpress.com/779/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/goldmanalpha.wordpress.com/779/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/goldmanalpha.wordpress.com/779/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/goldmanalpha.wordpress.com/779/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/goldmanalpha.wordpress.com/779/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/goldmanalpha.wordpress.com/779/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/goldmanalpha.wordpress.com/779/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/goldmanalpha.wordpress.com/779/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/goldmanalpha.wordpress.com/779/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/goldmanalpha.wordpress.com/779/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/goldmanalpha.wordpress.com/779/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/goldmanalpha.wordpress.com/779/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=goldmanalpha.wordpress.com&amp;blog=9682964&amp;post=779&amp;subd=goldmanalpha&amp;ref=&amp;feed=1" width="1" height="1" /></p>
]]></content:encoded>
			<wfw:commentRss>http://goldmanalpha.wordpress.com/2010/08/06/eventtocommand-for-attached-property/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MVVM + A Little C == MVPoo?</title>
		<link>http://feedproxy.google.com/~r/DevelopmentInABlink/~3/B_ScEQ84AZc/</link>
		<comments>http://feedproxy.google.com/~r/DevelopmentInABlink/~3/B_ScEQ84AZc/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 12:41:49 +0000</pubDate>
		<dc:creator>Doug Finke</dc:creator>
				<category><![CDATA[Advanced Visualization]]></category>
		<category><![CDATA[MVVM]]></category>
		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://dougfinke.com/blog/index.php/2010/07/06/mvvm-a-little-c-mvpoo/</guid>
		<description><![CDATA[The MVPoo (or M-V-poo to be more precise as defined by its creator, Dr. WPF) pattern recognizes the fact that there is a difference between the ideal world and the real world so that nice and clean implementation of the MVVM(C) pattern is not always achievable

via Microsoft UK Application Development Consulting
]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://drwpf.com/blog/2008/01/23/a-new-software-architecture-pattern-m-v-poo/">MVPoo</a> (or M-V-poo to be more precise as defined by its creator, <a href="http://drwpf.com/blog">Dr. WPF</a>) pattern recognizes the fact that there is a difference between the ideal world and the real world so that nice and clean implementation of the MVVM(C) pattern is not always achievable</p>
<p><img alt="MVPoo" src="http://mnikoo.files.wordpress.com/2010/06/mvpoo3.png?w=980&amp;h=740" width="554" height="418" /></p>
<p>via <a href="http://blogs.msdn.com/b/ukadc/archive/2010/07/06/model-view.aspx">Microsoft UK Application Development Consulting</a></p>
<p><img src="http://feeds.feedburner.com/~r/DevelopmentInABlink/~4/B_ScEQ84AZc" height="1" width="1"/></p>
]]></content:encoded>
			<wfw:commentRss>http://feedproxy.google.com/~r/DevelopmentInABlink/~3/B_ScEQ84AZc/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visual Studio INotifyPropertyChanged Snippet</title>
		<link>http://goldmanalpha.wordpress.com/2010/02/11/inotify/</link>
		<comments>http://goldmanalpha.wordpress.com/2010/02/11/inotify/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 02:55:55 +0000</pubDate>
		<dc:creator>Aaron Goldman</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Advanced Visualization]]></category>
		<category><![CDATA[MVVM]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://goldmanalpha.wordpress.com/?p=465</guid>
		<description><![CDATA[I just made my first Visual Studio snippet.  It&#8217;s really easy. There&#8217;s a consensus developing that says dependency properties are usually too heavyweight and people are using INotifyPropertyChanged instead.  I miss the snippet that creates a dependency property, so I made a similar snippet for INotifyPropertyChanged.  You can download the code here. To make a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=goldmanalpha.wordpress.com&#38;blog=9682964&#38;post=465&#38;subd=goldmanalpha&#38;ref=&#38;feed=1" />]]></description>
			<content:encoded><![CDATA[<p>I just made my first Visual Studio snippet.  It&#8217;s really easy.</p>
<p>There&#8217;s a consensus developing that says dependency properties are usually too heavyweight and people are using INotifyPropertyChanged instead.  I miss the snippet that creates a dependency property, so I made a similar snippet for INotifyPropertyChanged.  You can download the code <a href="http://cid-ad623ebb35a7dabd.skydrive.live.com/self.aspx/.Public/BlogCode/INotifyPropertyChangedSnippet.zip" >here</a>.</p>
<p>To make a snippet, just go to Tools / Code Snippets Manager and find a snippet to start with.  I started with the “Define a Dependency Property” snippet since I was doing almost the same thing.  The Snippets Manager will tell you where that file is:</p>
<p><a href="http://goldmanalpha.files.wordpress.com/2010/02/image1.png"><img style="display:inline;border:0;" title="image" src="http://goldmanalpha.files.wordpress.com/2010/02/image_thumb1.png?w=466&#038;h=344" border="0" alt="image" width="466" height="344" /></a></p>
<p>Go to the file system and copy the file to your My Code Snippets folder.  If you highlight the folder in the Code Snippet Manager, it will tell you where it is &#8212; you can copy the path from the location field.  The file is an xml file, but needs to be named “.snippet”.</p>
<p>Editing the file is very straightforward and the snippet will be available immediately – no restart needed.</p>
<p>One interesting thing about the code is that I’m using a simple method to do all the work:</p>
<p>I basically combined <a href="http://www.codeproject.com/KB/cs/BindBetterINotifyProperty.aspx">this CodeProject work</a> with Jeff Yates object.Equals idea from <a href="http://stackoverflow.com/questions/565564/c-alternative-to-generictype-null">here</a> in order to handle both reference and value types in a single call:</p>
<p>Here’s how the snippet comes out by default (the myNames and type are the replaceable fields):</p>
<pre>int _myField;

public int MyProperty
{
    get { return _myField; }
    set
    {
        CheckPropertyChanged("MyProperty",
            ref _myField, ref value);
    }
}</pre>
<p>This is the method that does a check and notify in the base class:</p>
<pre>protected bool CheckPropertyChanged&lt;T&gt;
      (string propertyName, ref T oldValue, ref T newValue)
      {</pre>
<pre>            if (!Equals(oldValue, newValue))</pre>
<pre>            {</pre>
<pre>                oldValue = newValue;</pre>
<pre>                RaisePropertyChanged(propertyName);</pre>
<pre>                return true;</pre>
<pre>            }</pre>
<pre>            return false;</pre>
<pre>        }</pre>
<p>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/goldmanalpha.wordpress.com/465/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/goldmanalpha.wordpress.com/465/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/goldmanalpha.wordpress.com/465/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/goldmanalpha.wordpress.com/465/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/goldmanalpha.wordpress.com/465/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/goldmanalpha.wordpress.com/465/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/goldmanalpha.wordpress.com/465/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/goldmanalpha.wordpress.com/465/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/goldmanalpha.wordpress.com/465/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/goldmanalpha.wordpress.com/465/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=goldmanalpha.wordpress.com&#038;blog=9682964&#038;post=465&#038;subd=goldmanalpha&#038;ref=&#038;feed=1" /></p>
]]></content:encoded>
			<wfw:commentRss>http://goldmanalpha.wordpress.com/2010/02/11/inotify/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Advance Your Composite Application MVVM to the Next Level &#8211; Use Attributes to Automatically Populate Your View Model with Service Calls</title>
		<link>http://blog.lab49.com/archives/3857</link>
		<comments>http://blog.lab49.com/archives/3857#comments</comments>
		<pubDate>Mon, 07 Dec 2009 02:15:55 +0000</pubDate>
		<dc:creator>Eugene Prystupa</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Attributes]]></category>
		<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[LINQ]]></category>
		<category><![CDATA[MVVM]]></category>
		<category><![CDATA[Prism]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://blog.lab49.com/?p=3857</guid>
		<description><![CDATA[Abstract MVVM is a proven design pattern in WFP/Silverlight world. Its use helps achieve separation of concerns, frees UI from any logic to enhance testing, and generally makes the code easier to understand and maintain. In many LOB multi-tier applications MVVM is extended to include a presenter class. Presenter usually controls the view model, receives [...]]]></description>
			<content:encoded><![CDATA[<h6>Abstract</h6>
<p>MVVM is a proven design pattern in WFP/Silverlight world. Its use helps achieve separation of concerns, frees UI from any logic to enhance testing, and generally makes the code easier to understand and maintain. In many LOB multi-tier applications MVVM is extended to include a presenter class. Presenter usually controls the view model, receives necessary services from dependency injection container and has some logic to populate the view model with business entities and/or reference data and send any changes back. The resulting code is usually pretty clean, easy to maintain and test. This article argues though that most of the code in such presenters to populate the view models is also very mechanical, routine, boring and can be avoided all together by introducing small attribute-based view model framework to declaratively populate view models from service calls and avoid extra coding, and, thus, avoid writing extra mechanical, routine, and boring tests.</p>
<p>If you prefer the “code first” approach VS 2008 solution can be downloaded here: <a href="http://cid-fd7bfb078a7a66be.skydrive.live.com/self.aspx/Public/MVVMAttributes.zip" target="_blank">MVVMAttributes.zip</a></p>
<p><span style="background-color: #ffffff;"><a href="http://eprystupa.wordpress.com/2009/12/06/advance-your-composite-application-mvvm-to-the-next-level-use-attributes-to-automatically-populate-your-view-model-with-service-calls/" target="_blank">View complete article here&#8230;</a> </span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lab49.com/archives/3857/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>From Winforms to WPF MVVM in 90 Minutes</title>
		<link>http://goldmanalpha.wordpress.com/2009/11/22/mvvm90/</link>
		<comments>http://goldmanalpha.wordpress.com/2009/11/22/mvvm90/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 02:14:31 +0000</pubDate>
		<dc:creator>Aaron Goldman</dc:creator>
				<category><![CDATA[Advanced Visualization]]></category>
		<category><![CDATA[MVVM]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://goldmanalpha.wordpress.com/?p=266</guid>
		<description><![CDATA[Jason Dolinger made an excellent MVVM presentation last year.  It starts with a classic WinForms approach then upgrades it to a proper MVVM (Model-View ViewModel) pattern for WPF.  If you’ve ever created a WinForm app (even in VB6 – remember VB6?) and you’ve done your homework about WPF, this presentation will show you how to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=goldmanalpha.wordpress.com&#38;blog=9682964&#38;post=266&#38;subd=goldmanalpha&#38;ref=&#38;feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'>
<p>Jason Dolinger made an <a href="http://www.lab49.com/files/videos/Jason%20Dolinger%20MVVM.wmv" >excellent MVVM presentation</a> last year.  It starts with a classic WinForms approach then upgrades it to a proper <a href="http://blogs.msdn.com/dancre/archive/2006/10/11/datamodel-view-viewmodel-pattern-series.aspx" >MVVM</a> (Model-View ViewModel) pattern for WPF.  If you’ve ever created a WinForm app (even in VB6 – remember VB6?) and you’ve done your homework about WPF, this presentation will show you how to make a clean, properly separated and testable UI with MVVM.  I worked along with the presentation upgrading a small application I had written &#8212; that will take a bit more time, but it&#8217;s a great way to really learn.</p>
<p>More details <a href="http://blog.lab49.com/archives/2650" >here</a>.</p>
<p>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/goldmanalpha.wordpress.com/266/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/goldmanalpha.wordpress.com/266/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/goldmanalpha.wordpress.com/266/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/goldmanalpha.wordpress.com/266/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/goldmanalpha.wordpress.com/266/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/goldmanalpha.wordpress.com/266/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/goldmanalpha.wordpress.com/266/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/goldmanalpha.wordpress.com/266/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/goldmanalpha.wordpress.com/266/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/goldmanalpha.wordpress.com/266/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=goldmanalpha.wordpress.com&#038;blog=9682964&#038;post=266&#038;subd=goldmanalpha&#038;ref=&#038;feed=1" /></div>
]]></content:encoded>
			<wfw:commentRss>http://goldmanalpha.wordpress.com/2009/11/22/mvvm90/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.lab49.com/files/videos/Jason%20Dolinger%20MVVM.wmv" length="101673673" type="video/x-ms-wmv" />
		</item>
	</channel>
</rss>

