<?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"
	>
<channel>
	<title>Comments on: Model View Presenter</title>
	<atom:link href="http://www.mattberther.com/2005/01/11/model-view-presenter/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mattberther.com/2005/01/11/model-view-presenter/</link>
	<description>Agile Manager and Occasional Code Monkey</description>
	<pubDate>Fri, 21 Nov 2008 00:51:46 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
		<item>
		<title>By: Mr. Rask</title>
		<link>http://www.mattberther.com/2005/01/11/model-view-presenter/#comment-109807</link>
		<dc:creator>Mr. Rask</dc:creator>
		<pubDate>Thu, 28 Jun 2007 12:17:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattberther.com/blog/?p=589#comment-109807</guid>
		<description>Instead of calling methods on the presenter from the view, i find that defining events in the view interface makes for a more clean cut (the view no longer has to have knowledge of the presenter). 

I the add the view to the presenter via constructor injection:

ICustomerView customerView = new CustomerForm();
CustomerPresenter customerPresenter = new CustomerPresenter(customerView);

Inside the presenter i then hook up the events that the presenter needs from the view.. (e.g. "Save")</description>
		<content:encoded><![CDATA[<p>Instead of calling methods on the presenter from the view, i find that defining events in the view interface makes for a more clean cut (the view no longer has to have knowledge of the presenter). </p>
<p>I the add the view to the presenter via constructor injection:</p>
<p>ICustomerView customerView = new CustomerForm();<br />
CustomerPresenter customerPresenter = new CustomerPresenter(customerView);</p>
<p>Inside the presenter i then hook up the events that the presenter needs from the view.. (e.g. &#8220;Save&#8221;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SonnyM</title>
		<link>http://www.mattberther.com/2005/01/11/model-view-presenter/#comment-20257</link>
		<dc:creator>SonnyM</dc:creator>
		<pubDate>Wed, 21 Feb 2007 03:05:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattberther.com/blog/?p=589#comment-20257</guid>
		<description>Great article,

Implementation gives a simple understanding :),

At first I had doubts with this pattern, but after gaining a deeper understanding of it I've realised how it enforces separation of view from model(controller). makes the view dumber which is a good thing. 

Cheers
Sonny M</description>
		<content:encoded><![CDATA[<p>Great article,</p>
<p>Implementation gives a simple understanding :),</p>
<p>At first I had doubts with this pattern, but after gaining a deeper understanding of it I&#8217;ve realised how it enforces separation of view from model(controller). makes the view dumber which is a good thing. </p>
<p>Cheers<br />
Sonny M</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sadek</title>
		<link>http://www.mattberther.com/2005/01/11/model-view-presenter/#comment-5255</link>
		<dc:creator>sadek</dc:creator>
		<pubDate>Wed, 08 Nov 2006 07:26:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattberther.com/blog/?p=589#comment-5255</guid>
		<description>what about a command within the model view presenter?
http://mragile.spaces.live.com/blog/</description>
		<content:encoded><![CDATA[<p>what about a command within the model view presenter?<br />
<a href="http://mragile.spaces.live.com/blog/" rel="nofollow">http://mragile.spaces.live.com/blog/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt Berther</title>
		<link>http://www.mattberther.com/2005/01/11/model-view-presenter/#comment-755</link>
		<dc:creator>Matt Berther</dc:creator>
		<pubDate>Fri, 14 Jan 2005 23:28:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattberther.com/blog/?p=589#comment-755</guid>
		<description>No, he's not. You're describing MVC (Model View Controller).

From the link:

Classic MVC doesn't work well with modern rich client tools because they design things so that the view handles all the user events such as mouse and keyboard clicks. In Model View Presenter the view continues to handle these, but then immediately delegates these to the presenter. The presenter then decides what to do with the event, communicating with the domain and the data in the view's controls.

The difference between MVP and class MVC is that in MVC the Controller changes the Model or the View and the View gets data from the Model. The model also updates the view when data changes.

Using MVP, the View only communicates with the Presenter. The presenter then communicates with both the View and the Model.

</description>
		<content:encoded><![CDATA[<p>No, he&#8217;s not. You&#8217;re describing MVC (Model View Controller).</p>
<p>From the link:</p>
<p>Classic MVC doesn&#8217;t work well with modern rich client tools because they design things so that the view handles all the user events such as mouse and keyboard clicks. In Model View Presenter the view continues to handle these, but then immediately delegates these to the presenter. The presenter then decides what to do with the event, communicating with the domain and the data in the view&#8217;s controls.</p>
<p>The difference between MVP and class MVC is that in MVC the Controller changes the Model or the View and the View gets data from the Model. The model also updates the view when data changes.</p>
<p>Using MVP, the View only communicates with the Presenter. The presenter then communicates with both the View and the Model.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Starr</title>
		<link>http://www.mattberther.com/2005/01/11/model-view-presenter/#comment-754</link>
		<dc:creator>David Starr</dc:creator>
		<pubDate>Fri, 14 Jan 2005 22:20:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattberther.com/blog/?p=589#comment-754</guid>
		<description>Martin Fowler did not introduce this pattern as his did he?  This is a fairly old pattern taught in design architecture classes in CS programs everywhere.

&lt;a href="http://www.google.com/search?sourceid=navclient&#38;ie=UTF-8&#38;rls=GGLD,GGLD:2004-29,GGLD:en&#38;q=model+controller+pattern" rel="nofollow"&gt;http://www.google.com/search?sourceid=navclient&#38;ie=UTF-8&#38;rls=GGLD,GGLD:2004-29,GGLD:en&#38;q=model+controller+pattern&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>Martin Fowler did not introduce this pattern as his did he?  This is a fairly old pattern taught in design architecture classes in CS programs everywhere.</p>
<p><a href="http://www.google.com/search?sourceid=navclient&amp;ie=UTF-8&amp;rls=GGLD,GGLD:2004-29,GGLD:en&amp;q=model+controller+pattern" rel="nofollow">http://www.google.com/search?sourceid=navclient&amp;ie=UTF-8&amp;rls=GGLD,GGLD:2004-29,GGLD:en&amp;q=model+controller+pattern</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>
