<?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: DTOs vs. MVP</title>
	<atom:link href="http://jeffperrin.com/2006/06/29/dtos-vs-mvp/feed/" rel="self" type="application/rss+xml" />
	<link>http://jeffperrin.com/2006/06/29/dtos-vs-mvp/</link>
	<description>Jump the Fence or Walk Around</description>
	<lastBuildDate>Wed, 30 Dec 2009 18:42:13 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Jean-Paul S. Boodhoo</title>
		<link>http://jeffperrin.com/2006/06/29/dtos-vs-mvp/#comment-16</link>
		<dc:creator>Jean-Paul S. Boodhoo</dc:creator>
		<pubDate>Fri, 30 Jun 2006 05:43:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.jeffperrin.com/index.php/2006/06/29/dtos-vs-mvp/#comment-16</guid>
		<description>It&#039;s late so excuse my spelling and bad grammar!!</description>
		<content:encoded><![CDATA[<p>It&#8217;s late so excuse my spelling and bad grammar!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jean-Paul S. Boodhoo</title>
		<link>http://jeffperrin.com/2006/06/29/dtos-vs-mvp/#comment-15</link>
		<dc:creator>Jean-Paul S. Boodhoo</dc:creator>
		<pubDate>Fri, 30 Jun 2006 05:41:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.jeffperrin.com/index.php/2006/06/29/dtos-vs-mvp/#comment-15</guid>
		<description>Hey Jeff,

Thanks for the props over at codebetter by the way!! You should check out my new video I just posted up at my blog and that should hopefully start to answer you question. Because I am coding using a top-down approach,all that my first test is ensuring is that the presenter talks to the &quot;service layer&quot; which in turn (when I get to it) would be responsible for assembling and returning DTO&#039;s to the presenter based on domain data. In the first video the only responsibility the presenter has is to push the corresponding list of DTOS to the view. It does not assembling whatsoever. A majority of DTO assembling done in a presenter is creating a DTO (based on view information), that can be sent as a packet to some service layer method. The other scenario where a presenter assembles is when there is a common DTO shared between multiple screens, but each screen needs to display the data in different ways (ex. Format currency differently etc). In this scenario, it can often be more effective to create an IScreenDTOAssembler interface, with each implementation knowing how to convert the CommonDTO into an appropriate representation for the screen that is currently working. This is actually great if you are actually sharing the presenter between the multiple screens as each screen can construct the presenter and pass in the assembler that the presenter should work with:

public class SomeSharedPresenter
{
  public SomeSharedPresenter(IView view,
          IScreenDTOAssembler  assembler)
{
}
}

Anyway. I&#039;m rambling. I&#039;m right here in Calgary so you should give me a call (560-3590) if you want to chat about some of these concepts.

JP</description>
		<content:encoded><![CDATA[<p>Hey Jeff,</p>
<p>Thanks for the props over at codebetter by the way!! You should check out my new video I just posted up at my blog and that should hopefully start to answer you question. Because I am coding using a top-down approach,all that my first test is ensuring is that the presenter talks to the &#8220;service layer&#8221; which in turn (when I get to it) would be responsible for assembling and returning DTO&#8217;s to the presenter based on domain data. In the first video the only responsibility the presenter has is to push the corresponding list of DTOS to the view. It does not assembling whatsoever. A majority of DTO assembling done in a presenter is creating a DTO (based on view information), that can be sent as a packet to some service layer method. The other scenario where a presenter assembles is when there is a common DTO shared between multiple screens, but each screen needs to display the data in different ways (ex. Format currency differently etc). In this scenario, it can often be more effective to create an IScreenDTOAssembler interface, with each implementation knowing how to convert the CommonDTO into an appropriate representation for the screen that is currently working. This is actually great if you are actually sharing the presenter between the multiple screens as each screen can construct the presenter and pass in the assembler that the presenter should work with:</p>
<p>public class SomeSharedPresenter<br />
{<br />
  public SomeSharedPresenter(IView view,<br />
          IScreenDTOAssembler  assembler)<br />
{<br />
}<br />
}</p>
<p>Anyway. I&#8217;m rambling. I&#8217;m right here in Calgary so you should give me a call (560-3590) if you want to chat about some of these concepts.</p>
<p>JP</p>
]]></content:encoded>
	</item>
</channel>
</rss>

