<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: A New Software Architecture Pattern:  M-V-poo</title>
	<atom:link href="http://drwpf.com/blog/2008/01/23/a-new-software-architecture-pattern-m-v-poo/feed/" rel="self" type="application/rss+xml" />
	<link>http://drwpf.com/blog/2008/01/23/a-new-software-architecture-pattern-m-v-poo/</link>
	<description>Drinking (and serving) the WPF Kool-Aid since 2002</description>
	<lastBuildDate>Fri, 05 Mar 2010 02:30:52 -0600</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: David Kelley</title>
		<link>http://drwpf.com/blog/2008/01/23/a-new-software-architecture-pattern-m-v-poo/comment-page-1/#comment-252</link>
		<dc:creator>David Kelley</dc:creator>
		<pubDate>Thu, 12 Feb 2009 01:22:29 +0000</pubDate>
		<guid isPermaLink="false">http://drwpf.com/blog/?p=27#comment-252</guid>
		<description>Devin (the one you know) and I were just discussing Design patterns and M-V-poo came up...  so I came and found the article.  I must say I&#039;m sold,  M-V-poo I think is my new best practice.  no more discussions on MVP or pMVP or MVVM or MVWTF its all just MVpoo.  Great work Doc.</description>
		<content:encoded><![CDATA[<p>Devin (the one you know) and I were just discussing Design patterns and M-V-poo came up&#8230;  so I came and found the article.  I must say I&#8217;m sold,  M-V-poo I think is my new best practice.  no more discussions on MVP or pMVP or MVVM or MVWTF its all just MVpoo.  Great work Doc.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marlon Grech</title>
		<link>http://drwpf.com/blog/2008/01/23/a-new-software-architecture-pattern-m-v-poo/comment-page-1/#comment-251</link>
		<dc:creator>Marlon Grech</dc:creator>
		<pubDate>Fri, 01 Feb 2008 14:19:59 +0000</pubDate>
		<guid isPermaLink="false">http://drwpf.com/blog/?p=27#comment-251</guid>
		<description>Go Josh Go..... Dr nice name, M-V-poo :D</description>
		<content:encoded><![CDATA[<p>Go Josh Go&#8230;.. Dr nice name, M-V-poo <img src='http://drwpf.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeremiah Morrill</title>
		<link>http://drwpf.com/blog/2008/01/23/a-new-software-architecture-pattern-m-v-poo/comment-page-1/#comment-250</link>
		<dc:creator>Jeremiah Morrill</dc:creator>
		<pubDate>Tue, 29 Jan 2008 05:19:00 +0000</pubDate>
		<guid isPermaLink="false">http://drwpf.com/blog/?p=27#comment-250</guid>
		<description>Some old colleagues of mine use the C.Y.O.A. (Choose Your Own Adventure) pattern.  With CYOA, you wrap your entire program in one method and embed your code in a huge tree of &quot;if&quot; statements (even a &quot;switch&quot; statement if they were feeling frisky).  Debugging was no longer a chore to them, but more like an engrossed game of Dungeons and Dragons.&lt;br&gt;&lt;br&gt;Anyways, I don&#039;t think I&#039;ve used an application pattern where I didn&#039;t break the &quot;rules&quot;.  Maybe because the pattern didn&#039;t fit or maybe just out of my own ignorance.  &lt;br&gt;&lt;br&gt;I think M-V-Poo symbolizes, that with patterns, one size does not fit all, or maybe that rules [to patterns] are just limitations/loose guidelines.  That being said, M-V-Turd is what I&#039;m doing at the moment. ;)&lt;br&gt;&lt;br&gt;-Jer</description>
		<content:encoded><![CDATA[<p>Some old colleagues of mine use the C.Y.O.A. (Choose Your Own Adventure) pattern.  With CYOA, you wrap your entire program in one method and embed your code in a huge tree of &#8220;if&#8221; statements (even a &#8220;switch&#8221; statement if they were feeling frisky).  Debugging was no longer a chore to them, but more like an engrossed game of Dungeons and Dragons.</p>
<p>Anyways, I don&#8217;t think I&#8217;ve used an application pattern where I didn&#8217;t break the &#8220;rules&#8221;.  Maybe because the pattern didn&#8217;t fit or maybe just out of my own ignorance.  </p>
<p>I think M-V-Poo symbolizes, that with patterns, one size does not fit all, or maybe that rules [to patterns] are just limitations/loose guidelines.  That being said, M-V-Turd is what I&#8217;m doing at the moment. <img src='http://drwpf.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>-Jer</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: habibamahallah</title>
		<link>http://drwpf.com/blog/2008/01/23/a-new-software-architecture-pattern-m-v-poo/comment-page-1/#comment-249</link>
		<dc:creator>habibamahallah</dc:creator>
		<pubDate>Tue, 29 Jan 2008 04:20:57 +0000</pubDate>
		<guid isPermaLink="false">http://drwpf.com/blog/?p=27#comment-249</guid>
		<description>regards,&lt;br&gt;i need this code m-v-poo 4 client deliverable this week it is urgent please give me this poo sample thx by</description>
		<content:encoded><![CDATA[<p>regards,<br />i need this code m-v-poo 4 client deliverable this week it is urgent please give me this poo sample thx by</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Brown</title>
		<link>http://drwpf.com/blog/2008/01/23/a-new-software-architecture-pattern-m-v-poo/comment-page-1/#comment-248</link>
		<dc:creator>Mike Brown</dc:creator>
		<pubDate>Fri, 25 Jan 2008 08:33:08 +0000</pubDate>
		<guid isPermaLink="false">http://drwpf.com/blog/?p=27#comment-248</guid>
		<description>M-V-Poo hilarious...but I agree it&#039;s impossible to avoid getting some of the muck from your UI mixed in with your presentroller.&lt;br&gt;&lt;br&gt;Florian...commanding is a perfect example because ICommand is defined System.Windows.Input namespace and resides in the presentationcore assembly. Thus it breaks the concept of removing all reliance on your presentation technology from your controller. &lt;br&gt;&lt;br&gt;I personally think that ICommand deserves to be in the System namespace. But that&#039;s a different conversation altogether.</description>
		<content:encoded><![CDATA[<p>M-V-Poo hilarious&#8230;but I agree it&#8217;s impossible to avoid getting some of the muck from your UI mixed in with your presentroller.</p>
<p>Florian&#8230;commanding is a perfect example because ICommand is defined System.Windows.Input namespace and resides in the presentationcore assembly. Thus it breaks the concept of removing all reliance on your presentation technology from your controller. </p>
<p>I personally think that ICommand deserves to be in the System namespace. But that&#8217;s a different conversation altogether.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dr. WPF</title>
		<link>http://drwpf.com/blog/2008/01/23/a-new-software-architecture-pattern-m-v-poo/comment-page-1/#comment-247</link>
		<dc:creator>Dr. WPF</dc:creator>
		<pubDate>Fri, 25 Jan 2008 01:18:41 +0000</pubDate>
		<guid isPermaLink="false">http://drwpf.com/blog/?p=27#comment-247</guid>
		<description>Hey Karl,&lt;br&gt;&lt;br&gt;I don&#039;t really have any official guidance to post on M-V-poo, other than to say that if you pick an MVx archictecture (mine is closest to M-V-VM... but I call the view model a data view) you should recognize that there is no such thing as a &quot;pure&quot; implementation... at least not yet... and most attempts to force a pure implementation just add complexity to the solution.  In that sense, your approach sounds like a step in the right direction.  Definitely looking forward to the article!&lt;br&gt;&lt;br&gt;In my opinion, the biggest reason for implementing the middle layer is to support the requirements of the view that have nothing to do with the data itself.  You really don&#039;t want this overhead directly added to the data layer because you might want to share the same data layer with other non-WPF technologies.  So a data view (or view model, et. al.) gives you a place to add a &quot;conceptual view&quot; of what will be in the actual view.&lt;br&gt;&lt;br&gt;But as soon as you say this, the purists out there start clamoring about how the data view is too strongly tied to the view itself and yada yada yada... so I&#039;m hoping that by admitting its poo from the beginning, I can avoid such arguments.  :)&lt;br&gt;&lt;br&gt;I think the real test for this architecture will come once Silverlight 2.0 is released.  Assuming it supports the same general requirements of WPF around things like data binding, I should be able to easily create a Silverlight view and a WPF view of the same data view.  That will be very cool!&lt;br&gt;&lt;br&gt;Definitely exciting times!&lt;br&gt;&lt;br&gt;Cheers,&lt;br&gt;-dw</description>
		<content:encoded><![CDATA[<p>Hey Karl,</p>
<p>I don&#8217;t really have any official guidance to post on M-V-poo, other than to say that if you pick an MVx archictecture (mine is closest to M-V-VM&#8230; but I call the view model a data view) you should recognize that there is no such thing as a &#8220;pure&#8221; implementation&#8230; at least not yet&#8230; and most attempts to force a pure implementation just add complexity to the solution.  In that sense, your approach sounds like a step in the right direction.  Definitely looking forward to the article!</p>
<p>In my opinion, the biggest reason for implementing the middle layer is to support the requirements of the view that have nothing to do with the data itself.  You really don&#8217;t want this overhead directly added to the data layer because you might want to share the same data layer with other non-WPF technologies.  So a data view (or view model, et. al.) gives you a place to add a &#8220;conceptual view&#8221; of what will be in the actual view.</p>
<p>But as soon as you say this, the purists out there start clamoring about how the data view is too strongly tied to the view itself and yada yada yada&#8230; so I&#8217;m hoping that by admitting its poo from the beginning, I can avoid such arguments.  <img src='http://drwpf.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I think the real test for this architecture will come once Silverlight 2.0 is released.  Assuming it supports the same general requirements of WPF around things like data binding, I should be able to easily create a Silverlight view and a WPF view of the same data view.  That will be very cool!</p>
<p>Definitely exciting times!</p>
<p>Cheers,<br />-dw</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kevin Kerr</title>
		<link>http://drwpf.com/blog/2008/01/23/a-new-software-architecture-pattern-m-v-poo/comment-page-1/#comment-246</link>
		<dc:creator>Kevin Kerr</dc:creator>
		<pubDate>Fri, 25 Jan 2008 01:17:05 +0000</pubDate>
		<guid isPermaLink="false">http://drwpf.com/blog/?p=27#comment-246</guid>
		<description>I think you hit the nail on the head with M-V-poo. Everyone knows a model is needed. Everyone knows a view is needed. All that is left over is just... poo.&lt;br&gt;&lt;br&gt;I hope you do some articles on WPF design, there is a big market for them! :)&lt;br&gt;&lt;br&gt;Kevin&lt;br&gt;http://blog.quantumbitdesigns.com/</description>
		<content:encoded><![CDATA[<p>I think you hit the nail on the head with M-V-poo. Everyone knows a model is needed. Everyone knows a view is needed. All that is left over is just&#8230; poo.</p>
<p>I hope you do some articles on WPF design, there is a big market for them! <img src='http://drwpf.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Kevin<br /><a href="http://blog.quantumbitdesigns.com/" rel="nofollow">http://blog.quantumbitdesigns.com/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Florian Kr</title>
		<link>http://drwpf.com/blog/2008/01/23/a-new-software-architecture-pattern-m-v-poo/comment-page-1/#comment-245</link>
		<dc:creator>Florian Kr</dc:creator>
		<pubDate>Fri, 25 Jan 2008 00:32:04 +0000</pubDate>
		<guid isPermaLink="false">http://drwpf.com/blog/?p=27#comment-245</guid>
		<description>Maybe someone will come up with a derivated pattern... how about poo-first-pattern :)&lt;br&gt;&lt;br&gt;Can you elaborate what the problems with command binding is? &lt;br&gt;&lt;br&gt;Florian&lt;br&gt;http://www.planet-xaml.net</description>
		<content:encoded><![CDATA[<p>Maybe someone will come up with a derivated pattern&#8230; how about poo-first-pattern <img src='http://drwpf.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Can you elaborate what the problems with command binding is? </p>
<p>Florian<br /><a href="http://www.planet-xaml.net" rel="nofollow">http://www.planet-xaml.net</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Karl Shifflett</title>
		<link>http://drwpf.com/blog/2008/01/23/a-new-software-architecture-pattern-m-v-poo/comment-page-1/#comment-244</link>
		<dc:creator>Karl Shifflett</dc:creator>
		<pubDate>Thu, 24 Jan 2008 21:06:11 +0000</pubDate>
		<guid isPermaLink="false">http://drwpf.com/blog/?p=27#comment-244</guid>
		<description>Dr. WPF,&lt;br&gt;&lt;br&gt;Have you posted M-V-poo yet?  I couldn&#039;t find it.&lt;br&gt;&lt;br&gt;I&#039;m with you and Josh on this and will really be digging into this over the next few weeks.  Real world means, we have to deliver high quality, maintainable software in a reasonable amount of time.&lt;br&gt;&lt;br&gt;I&#039;m looking at this from the business application point of view that has 500 forms, solid business and data layers.&lt;br&gt;&lt;br&gt;I&#039;m trying to understand &quot;why&quot; I need another class to work with my UI, since the events serviced by the UI all call BLL methods anyway.  &lt;br&gt;&lt;br&gt;All my validation is auto wired to the BLL.  The wiring takes place at the control and form level.  I&#039;ll be writing a WPF article soon on declarative programming in the BLL that explains all this and provides a single base class that BLL entities can inherit from.&lt;br&gt;&lt;br&gt;These are exciting times!  Cheers!&lt;br&gt;&lt;br&gt;Karl&lt;br&gt;http://karlshifflett.wordpress.com/</description>
		<content:encoded><![CDATA[<p>Dr. WPF,</p>
<p>Have you posted M-V-poo yet?  I couldn&#8217;t find it.</p>
<p>I&#8217;m with you and Josh on this and will really be digging into this over the next few weeks.  Real world means, we have to deliver high quality, maintainable software in a reasonable amount of time.</p>
<p>I&#8217;m looking at this from the business application point of view that has 500 forms, solid business and data layers.</p>
<p>I&#8217;m trying to understand &#8220;why&#8221; I need another class to work with my UI, since the events serviced by the UI all call BLL methods anyway.  </p>
<p>All my validation is auto wired to the BLL.  The wiring takes place at the control and form level.  I&#8217;ll be writing a WPF article soon on declarative programming in the BLL that explains all this and provides a single base class that BLL entities can inherit from.</p>
<p>These are exciting times!  Cheers!</p>
<p>Karl<br /><a href="http://karlshifflett.wordpress.com/" rel="nofollow">http://karlshifflett.wordpress.com/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Josh Smith</title>
		<link>http://drwpf.com/blog/2008/01/23/a-new-software-architecture-pattern-m-v-poo/comment-page-1/#comment-243</link>
		<dc:creator>Josh Smith</dc:creator>
		<pubDate>Thu, 24 Jan 2008 20:58:50 +0000</pubDate>
		<guid isPermaLink="false">http://drwpf.com/blog/?p=27#comment-243</guid>
		<description>Thanks for the kind words, Doc.  I&#039;m really glad that you enjoyed my presentation so much.  :)&lt;br&gt;&lt;br&gt;Josh</description>
		<content:encoded><![CDATA[<p>Thanks for the kind words, Doc.  I&#8217;m really glad that you enjoyed my presentation so much.  <img src='http://drwpf.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Josh</p>
]]></content:encoded>
	</item>
</channel>
</rss>
