<?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>Tue, 22 May 2012 17:40:00 +0000</lastBuildDate> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.2</generator> <item><title>By: Satyajeet Deshmukh</title><link>http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/comment-page-2/#comment-105827</link> <dc:creator>Satyajeet Deshmukh</dc:creator> <pubDate>Wed, 18 Apr 2012 08:11:00 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=2392#comment-105827</guid> <description>Which pattern do you suggest instead of MVVM?? </description> <content:encoded><![CDATA[<p>Which pattern do you suggest instead of MVVM??</p> ]]></content:encoded> </item> <item><title>By: Albino Cordeiro Jr</title><link>http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/comment-page-2/#comment-105663</link> <dc:creator>Albino Cordeiro Jr</dc:creator> <pubDate>Thu, 05 Apr 2012 20:55:00 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=2392#comment-105663</guid> <description>Well, you apply the SRP once when you add a reference in the View class to a viewmodel object and you transfer all non-view-related logic on the code-behind and put it in the viewmodel class. Nothing says that you have to stop there. Now you can create a other abstractions (A DataService class, a CommunicationService class, A ValidationService class, etc.) and apply the SRP to the viewmodel class: the viewmodel will have references to objects of those &quot;Service&quot; classes and the responsibility(reason for changes) will be transfered to them. </description> <content:encoded><![CDATA[<p>Well, you apply the SRP once when you add a reference in the View class to a viewmodel object and you transfer all non-view-related logic on the code-behind and put it in the viewmodel class. Nothing says that you have to stop there. Now you can create a other abstractions (A DataService class, a CommunicationService class, A ValidationService class, etc.) and apply the SRP to the viewmodel class: the viewmodel will have references to objects of those &#8220;Service&#8221; classes and the responsibility(reason for changes) will be transfered to them. </p> ]]></content:encoded> </item> <item><title>By: Guest</title><link>http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/comment-page-2/#comment-105606</link> <dc:creator>Guest</dc:creator> <pubDate>Fri, 30 Mar 2012 09:53:00 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=2392#comment-105606</guid> <description>No matter what ideas you want to defend, being such arrogant won&#039;t help you in your career and also in your life...</description> <content:encoded><![CDATA[<p>No matter what ideas you want to defend, being such arrogant won&#8217;t help you in your career and also in your life&#8230;</p> ]]></content:encoded> </item> <item><title>By: Simon Massey</title><link>http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/comment-page-2/#comment-105549</link> <dc:creator>Simon Massey</dc:creator> <pubDate>Tue, 27 Mar 2012 21:27:00 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=2392#comment-105549</guid> <description>This concept of &quot;push&quot; or &quot;pull&quot; I think is a key distinguishing factor. Most Model-View-Something patterns diagrams put the components in a triangle. Draw it as stack with the View pulling data through the ViewModel and pushing commands back down and we see that it is a Mediator of the Model.Slides 30, 31, 25 of this presentation http://www.slideshare.net/simbo1905/design-patterns-in-zk-java-mvvm-as-modelviewbinder come to mind when I read this discussion.With pure bindings the ViewModel has no compile time references to the View. The Binding technology has a primary role. Draw it as a triangle with the Presenter at one corner pushing data into the View then it is the Mediator which has compile time references to the View. The bindings there are optional (slides 23, 25).</description> <content:encoded><![CDATA[<p>This concept of &#8220;push&#8221; or &#8220;pull&#8221; I think is a key distinguishing factor. Most Model-View-Something patterns diagrams put the components in a triangle. Draw it as stack with the View pulling data through the ViewModel and pushing commands back down and we see that it is a Mediator of the Model.</p><p>Slides 30, 31, 25 of this presentation <a
href="http://www.slideshare.net/simbo1905/design-patterns-in-zk-java-mvvm-as-modelviewbinder" rel="nofollow">http://www.slideshare.net/simbo1905/design-patterns-in-zk-java-mvvm-as-modelviewbinder</a> come to mind when I read this discussion.</p><p>With pure bindings the ViewModel has no compile time references to the View. The Binding technology has a primary role. Draw it as a triangle with the Presenter at one corner pushing data into the View then it is the Mediator which has compile time references to the View. The bindings there are optional (slides 23, 25).</p> ]]></content:encoded> </item> <item><title>By: Simon Massey</title><link>http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/comment-page-1/#comment-105546</link> <dc:creator>Simon Massey</dc:creator> <pubDate>Tue, 27 Mar 2012 20:48:00 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=2392#comment-105546</guid> <description>Is that the same thing as &quot;Supervising Controller&quot; http://msdn.microsoft.com/en-us/library/ff648921.aspx</description> <content:encoded><![CDATA[<p>Is that the same thing as &#8220;Supervising Controller&#8221; <a
href="http://msdn.microsoft.com/en-us/library/ff648921.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/ff648921.aspx</a></p> ]]></content:encoded> </item> <item><title>By: Simon Massey</title><link>http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/comment-page-1/#comment-105510</link> <dc:creator>Simon Massey</dc:creator> <pubDate>Tue, 27 Mar 2012 11:18:00 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=2392#comment-105510</guid> <description> @14b830ec68fdd932f933eea6aa2977d5:disqus when you say &quot;a bad feeling when i see a ViewModel holding a service reference&quot; that is something I call the &quot;mystery guest&quot; anti-pattern. You wished you were working with a poco and had Dependency Injection but instead things can break down into spaghetti logic and unexpected side effects of accessing harmless looking properties.What I am taking away from the discussion is that in SL where the pattern is &quot;client side&quot; the dispatch and plumbing to the server should not be &quot;mounted&quot; into the poco the View is bound to. Instead use the poco as the abstraction of the view that a controller pushes up into.On the flip side if you are not in SL and are doing MVVM in WPF fat client with ORM then the &quot;remoting and dispatching&quot; plumbing may not be a barrier to working directly with the model. Then the bindings can &quot;pull through&quot; the Model through the ViewModel to update the View. Regular commands going down then don&#039;t need much plumbing and you can move your Use Case service Mediation logic into your ViewModel without the headaches of SL event dispatching to the server and the callbacks.  </description> <content:encoded><![CDATA[<p> @14b830ec68fdd932f933eea6aa2977d5:disqus when you say &#8220;a bad feeling when i see a ViewModel holding a service reference&#8221; that is something I call the &#8220;mystery guest&#8221; anti-pattern. You wished you were working with a poco and had Dependency Injection but instead things can break down into spaghetti logic and unexpected side effects of accessing harmless looking properties.</p><p>What I am taking away from the discussion is that in SL where the pattern is &#8220;client side&#8221; the dispatch and plumbing to the server should not be &#8220;mounted&#8221; into the poco the View is bound to. Instead use the poco as the abstraction of the view that a controller pushes up into.</p><p>On the flip side if you are not in SL and are doing MVVM in WPF fat client with ORM then the &#8220;remoting and dispatching&#8221; plumbing may not be a barrier to working directly with the model. Then the bindings can &#8220;pull through&#8221; the Model through the ViewModel to update the View. Regular commands going down then don&#8217;t need much plumbing and you can move your Use Case service Mediation logic into your ViewModel without the headaches of SL event dispatching to the server and the callbacks. </p> ]]></content:encoded> </item> <item><title>By: Simon Massey</title><link>http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/comment-page-1/#comment-105509</link> <dc:creator>Simon Massey</dc:creator> <pubDate>Tue, 27 Mar 2012 11:17:00 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=2392#comment-105509</guid> <description> @14b830ec68fdd932f933eea6aa2977d5:disqus when you say &quot;a bad feeling when i see a ViewModel holding a service reference&quot; that is something I call the &quot;mystery guest&quot; anti-pattern. You wished you were working with a poco and had Dependency Injection but instead things can break down into spaghetti logic and unexpected side effects of accessing harmless looking properties.What I am taking away from the discussion is that in SL where the pattern is &quot;client side&quot; the dispatch and plumbing to the server should not be &quot;mounted&quot; into the poco the View is bound to. Instead use the poco as the abstraction of the view that a controller pushes up into.On the flip side if you are not in SL and are doing MVVM in WPF fat client with ORM then the &quot;remoting and dispatching&quot; plumbing may not be a barrier to working directly with the model. Then the bindings can &quot;pull through&quot; the Model through the ViewModel to update the View. Regular commands going down then don&#039;t need much plumbing and you can move your Use Case service Mediation logic into your ViewModel without the headaches of SL event dispatching to the server and the callbacks.  </description> <content:encoded><![CDATA[<p> @14b830ec68fdd932f933eea6aa2977d5:disqus when you say &#8220;a bad feeling when i see a ViewModel holding a service reference&#8221; that is something I call the &#8220;mystery guest&#8221; anti-pattern. You wished you were working with a poco and had Dependency Injection but instead things can break down into spaghetti logic and unexpected side effects of accessing harmless looking properties.</p><p>What I am taking away from the discussion is that in SL where the pattern is &#8220;client side&#8221; the dispatch and plumbing to the server should not be &#8220;mounted&#8221; into the poco the View is bound to. Instead use the poco as the abstraction of the view that a controller pushes up into.</p><p>On the flip side if you are not in SL and are doing MVVM in WPF fat client with ORM then the &#8220;remoting and dispatching&#8221; plumbing may not be a barrier to working directly with the model. Then the bindings can &#8220;pull through&#8221; the Model through the ViewModel to update the View. Regular commands going down then don&#8217;t need much plumbing and you can move your Use Case service Mediation logic into your ViewModel without the headaches of SL event dispatching to the server and the callbacks. </p> ]]></content:encoded> </item> <item><title>By: Simon Massey</title><link>http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/comment-page-1/#comment-105500</link> <dc:creator>Simon Massey</dc:creator> <pubDate>Mon, 26 Mar 2012 22:55:00 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=2392#comment-105500</guid> <description>When is a ViewModel not a PresentationModel? My answer is when it is implementing the Mediator pattern. A model which is just formatting raw dates and numbers to a users locale is not a model of the GUI. It is simply a presentation model (i.e. purely supporting value conversion). A more ambitious thing for a ViewModel to attempt is the Mediator pattern orchestrating the OO Model or Data Model. To me Davy&#039;s is saying &quot;the plumbing of the mediation&quot; gets in the way and that a &quot;simple formatting model&quot; with &quot;separated controller&quot; works better for him. Saying that ViewModel is a PresentationModel misses the distinction between mixing the orchestration of the Model into the ViewModel else keeping it separate. I think that the reason that MVVM is so much alphabet soup to most people is that after half a decade the documentation does not yet pick up on Mediation being (a possible) facet of the pattern. It is of course optional; but I think it is central to what Davy is discussing and is at the root of the mis-understanding which lead to the flame war here....</description> <content:encoded><![CDATA[<p>When is a ViewModel not a PresentationModel? My answer is when it is implementing the Mediator pattern. A model which is just formatting raw dates and numbers to a users locale is not a model of the GUI. It is simply a presentation model (i.e. purely supporting value conversion). A more ambitious thing for a ViewModel to attempt is the Mediator pattern orchestrating the OO Model or Data Model. </p><p>To me Davy&#8217;s is saying &#8220;the plumbing of the mediation&#8221; gets in the way and that a &#8220;simple formatting model&#8221; with &#8220;separated controller&#8221; works better for him. Saying that ViewModel is a PresentationModel misses the distinction between mixing the orchestration of the Model into the ViewModel else keeping it separate. </p><p>I think that the reason that MVVM is so much alphabet soup to most people is that after half a decade the documentation does not yet pick up on Mediation being (a possible) facet of the pattern. It is of course optional; but I think it is central to what Davy is discussing and is at the root of the mis-understanding which lead to the flame war here&#8230;.</p> ]]></content:encoded> </item> <item><title>By: Simon Massey</title><link>http://davybrion.com/blog/2010/07/the-mvvm-pattern-is-highly-overrated/comment-page-2/#comment-105499</link> <dc:creator>Simon Massey</dc:creator> <pubDate>Mon, 26 Mar 2012 22:19:00 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=2392#comment-105499</guid> <description>It can be a bit difficult to discuss an architectural pattern in one language or presentation framework. I wrote a Java patterns demo app with a page done once at MVP, once as a flavour of MVC with bindings, and once as MVVM. Hopefully switching languages/frameworks will help shed some light on what is pattern and what is surrounding context. The presentation / discussion of the patterns are at http://www.slideshare.net/simbo1905/design-patterns-in-zk-java-mvvm-as-modelviewbinder and the sourcecode is at https://github.com/simbo1905/ZkToDo2What is interested is what I described as desktop MVC which is using Bindings of the View to the Model. The model is updated from commands on a Composer (a not-so-supervising controller). This seems to me to be what Davy is advocating (MVP+Bindings == MVP+PM). There is a dedicated article on that http://java.dzone.com/articles/using-desktop-model-view So having (hopefully) shown code for all three patterns discussed here let me wade into the debate... I agree with @ac2dd23ded65763235b3b439ec326d50:disqus  that the hope is that the ViewModel has a single role; to model the GUI. Whether you are going to get a nice coherent ViewModel is down to how much impedance mismatch you are going to get trying to mediate your Model to the View.  By way of an example if your model is something like remote service rapping a dao which is stored procs then your going to have a lot of plumbing to deal with the remote calls and remote errors. If the data you get back is raw database values you are going to want to wrap it with a simple Presentation Model which does the formatting for the screen. That is clearly two concerns which may naturally fall into two sets of classes. You would be annoyed if you had to maintain code which tried to pretend to be a POCO but which did service lookup and remote calls in its getters (no really, it happens). Such &quot;mystery guest&quot; objects may benefit from a refactor into a business delegate (mediates the remote calls) and a presentation VO (a weak ViewModel or a simple Presentation Model). Having seen such code I am thinking that these are the sorts of messy ViewModels which Davy seeks to avoid. The more logic in the remote service layer; the less there is for the &quot;client side&quot; to do other than just the plumbing, the formatting, and the layout. The more these fall into different SOC classes. On the flip side if you don&#039;t have a lot of in-your-face remote plumbing between your View and your Model then you might not find there is no problem with a rich ViewModel. Desktop apps are more likely to have less in the way (e.g. some ORM). With almost no Service Layer logic then why not have the ViewModel do mediation of the data access layers? Why not have it be the &quot;app logic&quot; and hold the user session objects and manipulate them then persist them in the services with a View bound onto it?  The best choice is not the pure pattern; the best choice is the one which work in the context of your code and its deployment. If your context works better separating Mediation from Presentation then Davy recommends MVP+PM (or I would call it MVP+Bindings). If you are not getting bogged down in the business delegate plumbing then people are recommending MVVM which mixes both mediation and conversion of your Model to your View.</description> <content:encoded><![CDATA[<p>It can be a bit difficult to discuss an architectural pattern in one language or presentation framework. I wrote a Java patterns demo app with a page done once at MVP, once as a flavour of MVC with bindings, and once as MVVM. Hopefully switching languages/frameworks will help shed some light on what is pattern and what is surrounding context. </p><p>The presentation / discussion of the patterns are at http://www.slideshare.net/simbo1905/design-patterns-in-zk-java-mvvm-as-modelviewbinder and the sourcecode is at https://github.com/simbo1905/ZkToDo2</p><p>What is interested is what I described as desktop MVC which is using Bindings of the View to the Model. The model is updated from commands on a Composer (a not-so-supervising controller). This seems to me to be what Davy is advocating (MVP+Bindings == MVP+PM). There is a dedicated article on that http://java.dzone.com/articles/using-desktop-model-view </p><p>So having (hopefully) shown code for all three patterns discussed here let me wade into the debate&#8230; </p><p>I agree with @ac2dd23ded65763235b3b439ec326d50:disqus  that the hope is that the ViewModel has a single role; to model the GUI. Whether you are going to get a nice coherent ViewModel is down to how much impedance mismatch you are going to get trying to mediate your Model to the View.  </p><p>By way of an example if your model is something like remote service rapping a dao which is stored procs then your going to have a lot of plumbing to deal with the remote calls and remote errors. If the data you get back is raw database values you are going to want to wrap it with a simple Presentation Model which does the formatting for the screen. That is clearly two concerns which may naturally fall into two sets of classes. </p><p>You would be annoyed if you had to maintain code which tried to pretend to be a POCO but which did service lookup and remote calls in its getters (no really, it happens). Such &#8220;mystery guest&#8221; objects may benefit from a refactor into a business delegate (mediates the remote calls) and a presentation VO (a weak ViewModel or a simple Presentation Model). Having seen such code I am thinking that these are the sorts of messy ViewModels which Davy seeks to avoid. The more logic in the remote service layer; the less there is for the &#8220;client side&#8221; to do other than just the plumbing, the formatting, and the layout. The more these fall into different SOC classes. </p><p>On the flip side if you don&#8217;t have a lot of in-your-face remote plumbing between your View and your Model then you might not find there is no problem with a rich ViewModel. Desktop apps are more likely to have less in the way (e.g. some ORM). With almost no Service Layer logic then why not have the ViewModel do mediation of the data access layers? Why not have it be the &#8220;app logic&#8221; and hold the user session objects and manipulate them then persist them in the services with a View bound onto it?  </p><p>The best choice is not the pure pattern; the best choice is the one which work in the context of your code and its deployment. If your context works better separating Mediation from Presentation then Davy recommends MVP+PM (or I would call it MVP+Bindings). If you are not getting bogged down in the business delegate plumbing then people are recommending MVVM which mixes both mediation and conversion of your Model to your View.</p> ]]></content:encoded> </item> <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"></a><a
href="http://davybrion.com/blog/2010" rel="nofollow">http://davybrion.com/blog/2010</a>&#8230;) 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> </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/30 queries in 0.010 seconds using disk: basic
Object Caching 645/658 objects using disk: basic
Content Delivery Network via Amazon Web Services: CloudFront: d18sni7re4ly7f.cloudfront.net

Served from: davybrion.com @ 2012-05-23 12:24:31 -->
