<?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: The MVVM Pattern Is Highly Overrated</title> <atom:link href="http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/feed/" rel="self" type="application/rss+xml" /><link>http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/</link> <description>inquisitive: adjective. given to inquiry, research, or asking questions; eager for knowledge; intellectually curious</description> <lastBuildDate>Wed, 08 Feb 2012 11:42:42 +0000</lastBuildDate> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>By: Guest</title><link>http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/comment-page-2/#comment-104557</link> <dc:creator>Guest</dc:creator> <pubDate>Fri, 20 Jan 2012 22:10:00 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=2392#comment-104557</guid> <description>I can&#039;t disagree!</description> <content:encoded><![CDATA[<p>I can&#8217;t disagree!</p> ]]></content:encoded> </item> <item><title>By: Rj45thompson</title><link>http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/comment-page-2/#comment-103883</link> <dc:creator>Rj45thompson</dc:creator> <pubDate>Fri, 16 Dec 2011 17:25:00 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=2392#comment-103883</guid> <description>I am no expert in this domain as I am a C++ programmer comming to this web world.  We had MVC 15+ Years ago and it works just fine.  I may be going to go out on a limb here and say that people should focus on the context of their problem and use interfaces to abstract dependancies.   The way you abstract your objects is what seperates men from the boys.  Also expect that your home brew pattern won&#039;t even be consistant across your own code if you want it to be the best* possible.  You can&#039;t just copy some pattern and have the best solution for your context in almost every case but the most generic. By just following along some popular flavor of the month pattern code you dragged from the net is the new bane of programming.  First you need to understand the basics of programming and how to evaluate what is best. The human mind is a tool which craves properly carved blocks.  What is best is how your mind accepts them regardless of any principle.  It this way it is an artform, which people seem to have forgot or I am starting to realize people never knew...  The first rule is, human ergonomics.  Furthermore, contrary to popular belief that may not be pattern at all my friends.  Patterns cut blocks into sizes which are incorrect for contexts, therefore they will always be inferior despite consistancy. </description> <content:encoded><![CDATA[<p>I am no expert in this domain as I am a C++ programmer comming to this web world.  We had MVC 15+ Years ago and it works just fine.  I may be going to go out on a limb here and say that people should focus on the context of their problem and use interfaces to abstract dependancies.   The way you abstract your objects is what seperates men from the boys.  Also expect that your home brew pattern won&#8217;t even be consistant across your own code if you want it to be the best* possible.  You can&#8217;t just copy some pattern and have the best solution for your context in almost every case but the most generic. </p><p>By just following along some popular flavor of the month pattern code you dragged from the net is the new bane of programming.  First you need to understand the basics of programming and how to evaluate what is best. The human mind is a tool which craves properly carved blocks.  What is best is how your mind accepts them regardless of any principle.  It this way it is an artform, which people seem to have forgot or I am starting to realize people never knew&#8230;  The first rule is, human ergonomics.  Furthermore, contrary to popular belief that may not be pattern at all my friends.  Patterns cut blocks into sizes which are incorrect for contexts, therefore they will always be inferior despite consistancy.</p> ]]></content:encoded> </item> <item><title>By: Jp</title><link>http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/comment-page-2/#comment-100164</link> <dc:creator>Jp</dc:creator> <pubDate>Tue, 12 Jul 2011 04:30:00 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=2392#comment-100164</guid> <description>Without seeing the code, can&#039;t see much difference between your proposal and MVVM.  I however, agree on SOC and have voiced dissapproval of the Relay Command and implementation of the call back in the View Model.  There&#039;s no way that pattern can be reused.  So I use my own version of ViewModels for 1) Binding first and 2) Dependency properties and usually not much else.  The view kicks off commands to &quot;Command Central&quot;  which is a folder of commands that tell the model to get data.  The model then, when ready fires a dataready event of which any Viewmodel can subscribe.  The model never knows who&#039;s listening. So the commands are the action items in my patterns in that they respond to the GUI, and alert the Model.This is very similar pattern to Silverlight RIA.  In RIA the ORM becomes an asynchronous callback method that when ready posts the data back.  The load of the data is then handled via binding when the source is set in the callback.  In fact my MVVM ideas were stolen from RIA.</description> <content:encoded><![CDATA[<p>Without seeing the code, can&#8217;t see much difference between your proposal and MVVM.  I however, agree on SOC and have voiced dissapproval of the Relay Command and implementation of the call back in the View Model.  There&#8217;s no way that pattern can be reused.  So I use my own version of ViewModels for 1) Binding first and 2) Dependency properties and usually not much else.  The view kicks off commands to &#8220;Command Central&#8221;  which is a folder of commands that tell the model to get data.  The model then, when ready fires a dataready event of which any Viewmodel can subscribe.  The model never knows who&#8217;s listening. So the commands are the action items in my patterns in that they respond to the GUI, and alert the Model.</p><p>This is very similar pattern to Silverlight RIA.  In RIA the ORM becomes an asynchronous callback method that when ready posts the data back.  The load of the data is then handled via binding when the source is set in the callback.  In fact my MVVM ideas were stolen from RIA.</p> ]]></content:encoded> </item> <item><title>By: Spammer</title><link>http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/comment-page-2/#comment-99518</link> <dc:creator>Spammer</dc:creator> <pubDate>Wed, 01 Jun 2011 21:46:00 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=2392#comment-99518</guid> <description>Honestly, I&#039;m doing a small configuration tool with one or two extra dialogs and using WPF and MVVM.
What strikes me the most is the complexity when you go with this pattern. All the people are all over it and I cannot find a solution besides using some extra framework with implementing more than one form/dialog and their interaction.
Maybe I&#039;m alone with this but there is a lot of plumbing for a simple application...</description> <content:encoded><![CDATA[<p>Honestly, I&#8217;m doing a small configuration tool with one or two extra dialogs and using WPF and MVVM.<br
/> What strikes me the most is the complexity when you go with this pattern. All the people are all over it and I cannot find a solution besides using some extra framework with implementing more than one form/dialog and their interaction.<br
/> Maybe I&#8217;m alone with this but there is a lot of plumbing for a simple application&#8230;</p> ]]></content:encoded> </item> <item><title>By: Simon Segal</title><link>http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/comment-page-2/#comment-99391</link> <dc:creator>Simon Segal</dc:creator> <pubDate>Wed, 25 May 2011 09:50:00 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=2392#comment-99391</guid> <description>Davy I am in the camp that completely agrees with your view on this and my colleagues and I have taken a route that has merged some ideas from the MVP pattern with some of the ideas prevalent in NServiceBus; these are consistent with Udi Dahan&#039;s approach to design that embraces the notion of making software concrete and intention explicit through use largely of interfaces. MVVM is not a pattern that ever appealed to me in the years of considerable development I have done with WPF.</description> <content:encoded><![CDATA[<p>Davy I am in the camp that completely agrees with your view on this and my colleagues and I have taken a route that has merged some ideas from the MVP pattern with some of the ideas prevalent in NServiceBus; these are consistent with Udi Dahan&#8217;s approach to design that embraces the notion of making software concrete and intention explicit through use largely of interfaces. MVVM is not a pattern that ever appealed to me in the years of considerable development I have done with WPF.</p> ]]></content:encoded> </item> <item><title>By: MVVM design pattern &#171; Suresh Kumar Veluswamy&#039;s Blog</title><link>http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/comment-page-2/#comment-99308</link> <dc:creator>MVVM design pattern &#171; Suresh Kumar Veluswamy&#039;s Blog</dc:creator> <pubDate>Fri, 20 May 2011 03:23:22 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=2392#comment-99308</guid> <description>[...] This links talks about an alternate implementation (MVP-PMlight approach)- The MVVM Pattern Is Highly Overrated [...]</description> <content:encoded><![CDATA[<p>[...] This links talks about an alternate implementation (MVP-PMlight approach)- The MVVM Pattern Is Highly Overrated [...]</p> ]]></content:encoded> </item> <item><title>By: Davy Brion</title><link>http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/comment-page-2/#comment-99291</link> <dc:creator>Davy Brion</dc:creator> <pubDate>Mon, 16 May 2011 18:40:00 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=2392#comment-99291</guid> <description>a lot of people quickly move on to different things once you ask them to focus for more than 2 minutes ;) </description> <content:encoded><![CDATA[<p>a lot of people quickly move on to different things once you ask them to focus for more than 2 minutes <img
src='http://d18sni7re4ly7f.cloudfront.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  </p> ]]></content:encoded> </item> <item><title>By: Paul</title><link>http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/comment-page-2/#comment-99290</link> <dc:creator>Paul</dc:creator> <pubDate>Mon, 16 May 2011 18:36:00 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=2392#comment-99290</guid> <description>Cool.So what happened?  Did all the people begging for code look at it once you posted it, and finally understand what you were talking about?  I notice there was not much further debate after the code got posted.</description> <content:encoded><![CDATA[<p>Cool.</p><p>So what happened?  Did all the people begging for code look at it once you posted it, and finally understand what you were talking about?  I notice there was not much further debate after the code got posted.</p> ]]></content:encoded> </item> <item><title>By: Lochness71</title><link>http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/comment-page-2/#comment-99249</link> <dc:creator>Lochness71</dc:creator> <pubDate>Tue, 10 May 2011 18:55:00 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=2392#comment-99249</guid> <description>If you have ever designed or created a touch screen or UI with a fluid front end you will love MVVM. If you are still bulding crusty old form based applications... I understand your whining. </description> <content:encoded><![CDATA[<p>If you have ever designed or created a touch screen or UI with a fluid front end you will love MVVM. If you are still bulding crusty old form based applications&#8230; I understand your whining.</p> ]]></content:encoded> </item> <item><title>By: Davy Brion</title><link>http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/comment-page-2/#comment-98858</link> <dc:creator>Davy Brion</dc:creator> <pubDate>Tue, 29 Mar 2011 14:10:00 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=2392#comment-98858</guid> <description>are you really of the opinion that the approach outlined in my series (&lt;a href=&quot;http://davybrion.com/blog/2010/08/mvp-in-silverlightwpf-series/&quot; rel=&quot;nofollow&quot;&gt;http://davybrion.com/blog/2010...&lt;/a&gt;) is the same as MVVM?</description> <content:encoded><![CDATA[<p>are you really of the opinion that the approach outlined in my series (<a
href="http://davybrion.com/blog/2010/08/mvp-in-silverlightwpf-series/" rel="nofollow">http://davybrion.com/blog/2010&#8230;</a>) is the same as MVVM?</p> ]]></content:encoded> </item> <item><title>By: Jordan Hammond</title><link>http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/comment-page-2/#comment-98857</link> <dc:creator>Jordan Hammond</dc:creator> <pubDate>Tue, 29 Mar 2011 14:08:00 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=2392#comment-98857</guid> <description>MVP MVVM, it&#039;s really all the same thing.  You could simple change the headings of your preferred pattern to:
Presenter = Model
PresentationModel = ViewModeland you have the same result.  In your communication via a service reference then the model really begins in the client area, not what the server gives you.Skin it how you will, it&#039;s really all the same thing.</description> <content:encoded><![CDATA[<p>MVP MVVM, it&#8217;s really all the same thing.  You could simple change the headings of your preferred pattern to:<br
/> Presenter = Model<br
/> PresentationModel = ViewModel</p><p>and you have the same result.  In your communication via a service reference then the model really begins in the client area, not what the server gives you.</p><p>Skin it how you will, it&#8217;s really all the same thing.</p> ]]></content:encoded> </item> <item><title>By: Mike</title><link>http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/comment-page-2/#comment-98814</link> <dc:creator>Mike</dc:creator> <pubDate>Fri, 25 Mar 2011 00:48:00 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=2392#comment-98814</guid> <description>I apologize, the code sample has been posted. I missed your update to this blog at the top.&quot;People wanted code, so i showed them code&quot;...THANK YOU!</description> <content:encoded><![CDATA[<p>I apologize, the code sample has been posted. I missed your update to this blog at the top.</p><p>&#8220;People wanted code, so i showed them code&#8221;&#8230;</p><p>THANK YOU!</p> ]]></content:encoded> </item> <item><title>By: Mike</title><link>http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/comment-page-2/#comment-98813</link> <dc:creator>Mike</dc:creator> <pubDate>Fri, 25 Mar 2011 00:21:00 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=2392#comment-98813</guid> <description>Finally someone who understands my frustration!Problem is, you don&#039;t back it up with a code sample.Now I can&#039;t help but feel extremely disappointed, and somewhat angry. People need your code sample!</description> <content:encoded><![CDATA[<p>Finally someone who understands my frustration!</p><p>Problem is, you don&#8217;t back it up with a code sample.</p><p>Now I can&#8217;t help but feel extremely disappointed, and somewhat angry. People need your code sample!</p> ]]></content:encoded> </item> <item><title>By: SonOfPaul</title><link>http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/comment-page-2/#comment-98282</link> <dc:creator>SonOfPaul</dc:creator> <pubDate>Tue, 01 Mar 2011 17:26:00 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=2392#comment-98282</guid> <description>I think that every property and every routine or function needs to be in its very own namespace. That way we can have a true separation of concerns. I like to call this approach the VPMFPMFPMFPMFPMFPMFPMFPMFDB approach.What do you guys think?</description> <content:encoded><![CDATA[<p>I think that every property and every routine or function needs to be in its very own namespace. That way we can have a true separation of concerns. I like to call this approach the VPMFPMFPMFPMFPMFPMFPMFPMFDB approach.</p><p>What do you guys think?</p> ]]></content:encoded> </item> <item><title>By: Pattern Web Solutions &#187; Blog Archive &#187; What are MVVM, MVP and MVC?</title><link>http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/comment-page-2/#comment-98267</link> <dc:creator>Pattern Web Solutions &#187; Blog Archive &#187; What are MVVM, MVP and MVC?</dc:creator> <pubDate>Fri, 25 Feb 2011 23:22:38 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=2392#comment-98267</guid> <description>[...] for Views written on those frameworks to consume. In other ways, it works in the same way as MVP. However, it has been noted by Davy Brion that adding conversion logic to a Presenter may violate the Single Responsibility [...]</description> <content:encoded><![CDATA[<p>[...] for Views written on those frameworks to consume. In other ways, it works in the same way as MVP. However, it has been noted by Davy Brion that adding conversion logic to a Presenter may violate the Single Responsibility [...]</p> ]]></content:encoded> </item> <item><title>By: Xzz0195</title><link>http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/comment-page-2/#comment-97048</link> <dc:creator>Xzz0195</dc:creator> <pubDate>Mon, 07 Feb 2011 14:26:00 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=2392#comment-97048</guid> <description>Couldn&#039;t agree with you more on SOC.  When I first read up on the convoluted relay command I was floored.  I still like the MVVM but use it in a modified way...   ViewModel is only responsible for Binding and backend Model updates.  But I don&#039;t pull data into the ViewModel I push it from the Model.  After all sending a data ready event is really in my mind a nice Asynchronous and reasonable thing to do.  That&#039;s all done in the model.  But then what about commands?  I actucally create a separate folder and put all my command in one place.  Commands should do one thing, Execute a command.  If that means waking up the model so be it.  The model fires data ready event so everything works nicely.  Putting all of this into the ViewModel is, well, it&#039;s ridiculous...IMO</description> <content:encoded><![CDATA[<p>Couldn&#8217;t agree with you more on SOC.  When I first read up on the convoluted relay command I was floored.  I still like the MVVM but use it in a modified way&#8230;   ViewModel is only responsible for Binding and backend Model updates.  But I don&#8217;t pull data into the ViewModel I push it from the Model.  After all sending a data ready event is really in my mind a nice Asynchronous and reasonable thing to do.  That&#8217;s all done in the model.  But then what about commands?  I actucally create a separate folder and put all my command in one place.  Commands should do one thing, Execute a command.  If that means waking up the model so be it.  The model fires data ready event so everything works nicely.  Putting all of this into the ViewModel is, well, it&#8217;s ridiculous&#8230;IMO</p> ]]></content:encoded> </item> <item><title>By: Gizz</title><link>http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/comment-page-2/#comment-87378</link> <dc:creator>Gizz</dc:creator> <pubDate>Thu, 30 Dec 2010 07:58:16 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=2392#comment-87378</guid> <description>&quot;so yeah, i’m truly very sorry that i have to disappoint you that i haven’t spent every single spare minute i had on this so i could put this online as fast as humanly possible for you to read it, not get it, and still complain about itnobody’s forcing you to be here, nobody’s forcing you to read this, nobody is forcing you to believe anything i’m saying, and most importantly: nobody’s forcing me to spend more time on people like you than i’m prepared to do&quot;Very well said, sir.</description> <content:encoded><![CDATA[<p>&#8220;so yeah, i’m truly very sorry that i have to disappoint you that i haven’t spent every single spare minute i had on this so i could put this online as fast as humanly possible for you to read it, not get it, and still complain about it</p><p>nobody’s forcing you to be here, nobody’s forcing you to read this, nobody is forcing you to believe anything i’m saying, and most importantly: nobody’s forcing me to spend more time on people like you than i’m prepared to do&#8221;</p><p>Very well said, sir.</p> ]]></content:encoded> </item> <item><title>By: Master</title><link>http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/comment-page-2/#comment-57082</link> <dc:creator>Master</dc:creator> <pubDate>Thu, 02 Sep 2010 03:12:54 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=2392#comment-57082</guid> <description>Wekempf - Hi Arron, hows things. You still writing access apps using sql server?</description> <content:encoded><![CDATA[<p>Wekempf &#8211; Hi Arron, hows things. You still writing access apps using sql server?</p> ]]></content:encoded> </item> <item><title>By: Frank</title><link>http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/comment-page-2/#comment-55362</link> <dc:creator>Frank</dc:creator> <pubDate>Sun, 22 Aug 2010 18:03:13 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=2392#comment-55362</guid> <description>OK,I hear that MVVM is a fine way for complex user interfaces.
But why would you want a complex user interface?
Isn&#039;t there a way of going along simple User interfaces?</description> <content:encoded><![CDATA[<p>OK,</p><p>I hear that MVVM is a fine way for complex user interfaces.<br
/> But why would you want a complex user interface?<br
/> Isn&#8217;t there a way of going along simple User interfaces?</p> ]]></content:encoded> </item> <item><title>By: Stuff I&#8217;m Reading</title><link>http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/comment-page-2/#comment-53526</link> <dc:creator>Stuff I&#8217;m Reading</dc:creator> <pubDate>Fri, 13 Aug 2010 15:43:16 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=2392#comment-53526</guid> <description>[...] agree with all his points across his blog but at least he raises them and stands by them. http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/ http://davybrion.com/blog/2010/08/mvp-in-silverlightwpf-series/ [...]</description> <content:encoded><![CDATA[<p>[...] agree with all his points across his blog but at least he raises them and stands by them. <a
href="http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/" rel="nofollow">http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/</a> <a
href="http://davybrion.com/blog/2010/08/mvp-in-silverlightwpf-series/" rel="nofollow">http://davybrion.com/blog/2010/08/mvp-in-silverlightwpf-series/</a> [...]</p> ]]></content:encoded> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 5/27 queries in 0.023 seconds using disk: basic
Object Caching 641/648 objects using disk: basic
Content Delivery Network via Amazon Web Services: CloudFront: d18sni7re4ly7f.cloudfront.net

Served from: davybrion.com @ 2012-02-08 18:46:55 -->
