<?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: ASP.NET MVC, TDD and Fluent Validation</title>
	<atom:link href="http://richarddingwall.name/2009/08/19/asp-net-mvc-tdd-and-fluent-validation/feed/" rel="self" type="application/rss+xml" />
	<link>http://richarddingwall.name/2009/08/19/asp-net-mvc-tdd-and-fluent-validation/</link>
	<description>The adventures of a young kiwi software developer in London</description>
	<lastBuildDate>Tue, 31 Jan 2012 19:56:07 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Drew Freyling</title>
		<link>http://richarddingwall.name/2009/08/19/asp-net-mvc-tdd-and-fluent-validation/comment-page-1/#comment-55537</link>
		<dc:creator>Drew Freyling</dc:creator>
		<pubDate>Fri, 27 Jan 2012 15:29:12 +0000</pubDate>
		<guid isPermaLink="false">http://richarddingwall.name/?p=1690#comment-55537</guid>
		<description>You don&#039;t consider throwing exceptions for validation a bit heavy handed? Considering exceptions should really only occur in &quot;exceptional&quot; circumstances and the cost associated with throwing and catching them?</description>
		<content:encoded><![CDATA[<p>You don&#8217;t consider throwing exceptions for validation a bit heavy handed? Considering exceptions should really only occur in &#8220;exceptional&#8221; circumstances and the cost associated with throwing and catching them?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Richard</title>
		<link>http://richarddingwall.name/2009/08/19/asp-net-mvc-tdd-and-fluent-validation/comment-page-1/#comment-12542</link>
		<dc:creator>Richard</dc:creator>
		<pubDate>Mon, 01 Feb 2010 00:48:37 +0000</pubDate>
		<guid isPermaLink="false">http://richarddingwall.name/?p=1690#comment-12542</guid>
		<description>Martin - good question. In that case you would put a formal API in place that returns API-specific DTOs (effectively the same as a view model, without any specific UI in mind). For example, Twitter&#039;s &quot;get user&quot; method might return the user&#039;s details combined with their last ten tweets.

Then each client queries/send commands to the API, and maps its responses to their own UI-specific view models.

There should hopefully be a blog post about this (API-driven applications) in the next month or three :)</description>
		<content:encoded><![CDATA[<p>Martin &#8211; good question. In that case you would put a formal API in place that returns API-specific DTOs (effectively the same as a view model, without any specific UI in mind). For example, Twitter&#8217;s &#8220;get user&#8221; method might return the user&#8217;s details combined with their last ten tweets.</p>
<p>Then each client queries/send commands to the API, and maps its responses to their own UI-specific view models.</p>
<p>There should hopefully be a blog post about this (API-driven applications) in the next month or three :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Martin Aatmaa</title>
		<link>http://richarddingwall.name/2009/08/19/asp-net-mvc-tdd-and-fluent-validation/comment-page-1/#comment-12541</link>
		<dc:creator>Martin Aatmaa</dc:creator>
		<pubDate>Sun, 31 Jan 2010 23:23:58 +0000</pubDate>
		<guid isPermaLink="false">http://richarddingwall.name/?p=1690#comment-12541</guid>
		<description>I agree with the overall flow, but I&#039;m not convinced whether your ViewModels (UserRegistrationForm) should be in the ApplicationServices (UserRegistrationService) layer.

What if your ApplicationServices layer is shared by more than one client? For example, in addition to your Web MVC client, you want to add a Win console app. If this were the case, you ApplicationServices layer would have to know about ViewModels from both client apps, which seems smelly to me.

What do you think?

In any case, thank you for the informative post!</description>
		<content:encoded><![CDATA[<p>I agree with the overall flow, but I&#8217;m not convinced whether your ViewModels (UserRegistrationForm) should be in the ApplicationServices (UserRegistrationService) layer.</p>
<p>What if your ApplicationServices layer is shared by more than one client? For example, in addition to your Web MVC client, you want to add a Win console app. If this were the case, you ApplicationServices layer would have to know about ViewModels from both client apps, which seems smelly to me.</p>
<p>What do you think?</p>
<p>In any case, thank you for the informative post!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Richard</title>
		<link>http://richarddingwall.name/2009/08/19/asp-net-mvc-tdd-and-fluent-validation/comment-page-1/#comment-11004</link>
		<dc:creator>Richard</dc:creator>
		<pubDate>Fri, 16 Oct 2009 01:38:48 +0000</pubDate>
		<guid isPermaLink="false">http://richarddingwall.name/?p=1690#comment-11004</guid>
		<description>I haven&#039;t yet, but it wouldn&#039;t be too hard to set up an action filter to do it instead?</description>
		<content:encoded><![CDATA[<p>I haven&#8217;t yet, but it wouldn&#8217;t be too hard to set up an action filter to do it instead?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wes</title>
		<link>http://richarddingwall.name/2009/08/19/asp-net-mvc-tdd-and-fluent-validation/comment-page-1/#comment-11001</link>
		<dc:creator>Wes</dc:creator>
		<pubDate>Thu, 15 Oct 2009 21:26:18 +0000</pubDate>
		<guid isPermaLink="false">http://richarddingwall.name/?p=1690#comment-11001</guid>
		<description>Have you tried using interception/AOP for dealing with validation exceptions?</description>
		<content:encoded><![CDATA[<p>Have you tried using interception/AOP for dealing with validation exceptions?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dario-g</title>
		<link>http://richarddingwall.name/2009/08/19/asp-net-mvc-tdd-and-fluent-validation/comment-page-1/#comment-9973</link>
		<dc:creator>dario-g</dc:creator>
		<pubDate>Tue, 15 Sep 2009 09:31:17 +0000</pubDate>
		<guid isPermaLink="false">http://richarddingwall.name/?p=1690#comment-9973</guid>
		<description>Your example is in this post exactly suits to use AutoMapper but when you don&#039;t have setters AutoMapper is (almost) not usable.

AutoMapper in my project is something like utility, not required convention. It helps me with simple models. :)

PS
I&#039;m glad to see, that my ideas are so good (I think ;)).</description>
		<content:encoded><![CDATA[<p>Your example is in this post exactly suits to use AutoMapper but when you don&#8217;t have setters AutoMapper is (almost) not usable.</p>
<p>AutoMapper in my project is something like utility, not required convention. It helps me with simple models. :)</p>
<p>PS<br />
I&#8217;m glad to see, that my ideas are so good (I think ;)).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Richard</title>
		<link>http://richarddingwall.name/2009/08/19/asp-net-mvc-tdd-and-fluent-validation/comment-page-1/#comment-9961</link>
		<dc:creator>Richard</dc:creator>
		<pubDate>Tue, 15 Sep 2009 00:11:15 +0000</pubDate>
		<guid isPermaLink="false">http://richarddingwall.name/?p=1690#comment-9961</guid>
		<description>Dario - we have tried using automapper in the reverse direction (i.e. updating domain model from the view edit model) but found it doesn&#039;t really work because the domain model doesn&#039;t have setters.</description>
		<content:encoded><![CDATA[<p>Dario &#8211; we have tried using automapper in the reverse direction (i.e. updating domain model from the view edit model) but found it doesn&#8217;t really work because the domain model doesn&#8217;t have setters.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dario-g</title>
		<link>http://richarddingwall.name/2009/08/19/asp-net-mvc-tdd-and-fluent-validation/comment-page-1/#comment-9955</link>
		<dc:creator>dario-g</dc:creator>
		<pubDate>Mon, 14 Sep 2009 23:53:13 +0000</pubDate>
		<guid isPermaLink="false">http://richarddingwall.name/?p=1690#comment-9955</guid>
		<description>It&#039;s amazing. I&#039;ve just implementing like this in my app last night :) wow, wow, wow :)

Difference is with creating domain model. I&#039;m using AutoMaper instead of builders and form data (ViewModel) is passed to service via interface (IUserRegistrationForm instead of UserRegistrationForm).

Do you have any possibility to view my desktop? ;)</description>
		<content:encoded><![CDATA[<p>It&#8217;s amazing. I&#8217;ve just implementing like this in my app last night :) wow, wow, wow :)</p>
<p>Difference is with creating domain model. I&#8217;m using AutoMaper instead of builders and form data (ViewModel) is passed to service via interface (IUserRegistrationForm instead of UserRegistrationForm).</p>
<p>Do you have any possibility to view my desktop? ;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jake Scott</title>
		<link>http://richarddingwall.name/2009/08/19/asp-net-mvc-tdd-and-fluent-validation/comment-page-1/#comment-9184</link>
		<dc:creator>Jake Scott</dc:creator>
		<pubDate>Wed, 26 Aug 2009 02:06:53 +0000</pubDate>
		<guid isPermaLink="false">http://richarddingwall.name/?p=1690#comment-9184</guid>
		<description>Also attribute based validation is horrible when you want to anything that is not constant based. For example a simple &quot;Date cannot be in the past&quot; is impossible to do with attributes.</description>
		<content:encoded><![CDATA[<p>Also attribute based validation is horrible when you want to anything that is not constant based. For example a simple &#8220;Date cannot be in the past&#8221; is impossible to do with attributes.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: cowgaR</title>
		<link>http://richarddingwall.name/2009/08/19/asp-net-mvc-tdd-and-fluent-validation/comment-page-1/#comment-9077</link>
		<dc:creator>cowgaR</dc:creator>
		<pubDate>Sat, 22 Aug 2009 22:04:32 +0000</pubDate>
		<guid isPermaLink="false">http://richarddingwall.name/?p=1690#comment-9077</guid>
		<description>good work Richard!
I&#039;m in minority using FluentValidation, but I prefer it by all means!

Too bad all the other frameworks, even Microsoft (in upcoming MVC v2) is using attribute-based validation, which is forcing me to use partial classes = no go.</description>
		<content:encoded><![CDATA[<p>good work Richard!<br />
I&#8217;m in minority using FluentValidation, but I prefer it by all means!</p>
<p>Too bad all the other frameworks, even Microsoft (in upcoming MVC v2) is using attribute-based validation, which is forcing me to use partial classes = no go.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

