<?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: Separation of Concerns by example: Part 5</title>
	<atom:link href="http://lostechies.com/jimmybogard/2008/07/17/separation-of-concerns-by-example-part-5/feed/" rel="self" type="application/rss+xml" />
	<link>http://lostechies.com/jimmybogard/2008/07/17/separation-of-concerns-by-example-part-5/</link>
	<description>Strong opinions, weakly held</description>
	<lastBuildDate>Fri, 17 May 2013 09:02:38 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
	<item>
		<title>By: RedGreenRefactor</title>
		<link>http://lostechies.com/jimmybogard/2008/07/17/separation-of-concerns-by-example-part-5/#comment-691</link>
		<dc:creator>RedGreenRefactor</dc:creator>
		<pubDate>Fri, 18 Jul 2008 19:37:01 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/07/17/separation-of-concerns-by-example-part-5.aspx#comment-691</guid>
		<description>@Jeremy

Thanx. I will definitely take a look at it.</description>
		<content:encoded><![CDATA[<p>@Jeremy</p>
<p>Thanx. I will definitely take a look at it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeremy D. Miller</title>
		<link>http://lostechies.com/jimmybogard/2008/07/17/separation-of-concerns-by-example-part-5/#comment-690</link>
		<dc:creator>Jeremy D. Miller</dc:creator>
		<pubDate>Fri, 18 Jul 2008 18:57:49 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/07/17/separation-of-concerns-by-example-part-5.aspx#comment-690</guid>
		<description>@RedGreenRefactor:

SMap has done Xml configuration from the get go.  The last couple releases have ironically been about making Xml completely optional.  Seriously though, for everything except real configuration items (connection strings, file paths, url&#039;s, etc.), doing it in code is easier, less error prone, and allows for automatic refactorings better than the Xml.

You can mix and match the configuration.  Xml for stuff that absolutely has to be external, and the FI DSL for everything else.</description>
		<content:encoded><![CDATA[<p>@RedGreenRefactor:</p>
<p>SMap has done Xml configuration from the get go.  The last couple releases have ironically been about making Xml completely optional.  Seriously though, for everything except real configuration items (connection strings, file paths, url&#8217;s, etc.), doing it in code is easier, less error prone, and allows for automatic refactorings better than the Xml.</p>
<p>You can mix and match the configuration.  Xml for stuff that absolutely has to be external, and the FI DSL for everything else.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: RedGreenRefactor</title>
		<link>http://lostechies.com/jimmybogard/2008/07/17/separation-of-concerns-by-example-part-5/#comment-689</link>
		<dc:creator>RedGreenRefactor</dc:creator>
		<pubDate>Fri, 18 Jul 2008 18:06:30 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/07/17/separation-of-concerns-by-example-part-5.aspx#comment-689</guid>
		<description>Nice series. Good, simple and clean coding. I hope a lot of people read it. I&#039;ve never used SM but is it also possible to configure SM through an external configuration file?</description>
		<content:encoded><![CDATA[<p>Nice series. Good, simple and clean coding. I hope a lot of people read it. I&#8217;ve never used SM but is it also possible to configure SM through an external configuration file?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jimmy Bogard</title>
		<link>http://lostechies.com/jimmybogard/2008/07/17/separation-of-concerns-by-example-part-5/#comment-688</link>
		<dc:creator>Jimmy Bogard</dc:creator>
		<pubDate>Fri, 18 Jul 2008 00:05:43 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/07/17/separation-of-concerns-by-example-part-5.aspx#comment-688</guid>
		<description>@Chad

Thanks for pointing it out.  I&#039;m in the process of ditching aaaallll of our attributes.

@Bryan

Unity?  No reason.  I know StructureMap to be _very_ terse, and have no experience with Unity.  SM has been around in production for 4 years, while Unity is new.  There&#039;s something to be said for a product several versions old.</description>
		<content:encoded><![CDATA[<p>@Chad</p>
<p>Thanks for pointing it out.  I&#8217;m in the process of ditching aaaallll of our attributes.</p>
<p>@Bryan</p>
<p>Unity?  No reason.  I know StructureMap to be _very_ terse, and have no experience with Unity.  SM has been around in production for 4 years, while Unity is new.  There&#8217;s something to be said for a product several versions old.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bryan Reynolds</title>
		<link>http://lostechies.com/jimmybogard/2008/07/17/separation-of-concerns-by-example-part-5/#comment-687</link>
		<dc:creator>Bryan Reynolds</dc:creator>
		<pubDate>Thu, 17 Jul 2008 16:52:13 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/07/17/separation-of-concerns-by-example-part-5.aspx#comment-687</guid>
		<description>Any reason not to use Unit?</description>
		<content:encoded><![CDATA[<p>Any reason not to use Unit?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sean Scally</title>
		<link>http://lostechies.com/jimmybogard/2008/07/17/separation-of-concerns-by-example-part-5/#comment-686</link>
		<dc:creator>Sean Scally</dc:creator>
		<pubDate>Thu, 17 Jul 2008 16:25:21 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/07/17/separation-of-concerns-by-example-part-5.aspx#comment-686</guid>
		<description>I&#039;ve really enjoyed this series. It&#039;s a great place to point people who wonder what&#039;s wrong with the original &quot;3 Tiered&quot; example.
</description>
		<content:encoded><![CDATA[<p>I&#8217;ve really enjoyed this series. It&#8217;s a great place to point people who wonder what&#8217;s wrong with the original &#8220;3 Tiered&#8221; example.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chad Myers</title>
		<link>http://lostechies.com/jimmybogard/2008/07/17/separation-of-concerns-by-example-part-5/#comment-685</link>
		<dc:creator>Chad Myers</dc:creator>
		<pubDate>Thu, 17 Jul 2008 12:59:41 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/07/17/separation-of-concerns-by-example-part-5.aspx#comment-685</guid>
		<description>Great posts, Jimmy.

This concept probably wouldn&#039;t jive well with your examples (as it would be too opaque), but something that your readers may want to be aware of:

One neat thing about 2.4.9 and later is that there is the concept of convention scanners (or just &#039;conventions&#039;).

So you can actually have StructureMap look for patterns in your types and do whatever magic you can think to tell it to do.  For example, one of the ones that comes with StructureMap is the DefaultConventionScanner which, if you tell SMap to use it, it will look for interfaces that have similarly-named concrete implementations. So if you have interface IFoo with a concrete implementation class Foo : IFoo, the DefaultConventionScanner will automatically wire those up for you.

In our Bootstrapper class, we have:

StructureMapConfiguration
   .ScanAssemblies()
   .IncludeTheCallingAssembly()
   .With&lt;DefaultConventionScanner&gt;();

</description>
		<content:encoded><![CDATA[<p>Great posts, Jimmy.</p>
<p>This concept probably wouldn&#8217;t jive well with your examples (as it would be too opaque), but something that your readers may want to be aware of:</p>
<p>One neat thing about 2.4.9 and later is that there is the concept of convention scanners (or just &#8216;conventions&#8217;).</p>
<p>So you can actually have StructureMap look for patterns in your types and do whatever magic you can think to tell it to do.  For example, one of the ones that comes with StructureMap is the DefaultConventionScanner which, if you tell SMap to use it, it will look for interfaces that have similarly-named concrete implementations. So if you have interface IFoo with a concrete implementation class Foo : IFoo, the DefaultConventionScanner will automatically wire those up for you.</p>
<p>In our Bootstrapper class, we have:</p>
<p>StructureMapConfiguration<br />
   .ScanAssemblies()<br />
   .IncludeTheCallingAssembly()<br />
   .With<defaultconventionscanner>();</p>
<p></defaultconventionscanner></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Colin Jack</title>
		<link>http://lostechies.com/jimmybogard/2008/07/17/separation-of-concerns-by-example-part-5/#comment-684</link>
		<dc:creator>Colin Jack</dc:creator>
		<pubDate>Thu, 17 Jul 2008 12:56:19 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/07/17/separation-of-concerns-by-example-part-5.aspx#comment-684</guid>
		<description>Again superb and I also agree on how nice it is to use code to configure your container, there is something about the problem being solved that suits it and the superb interface that Jeremy has produced also helps.</description>
		<content:encoded><![CDATA[<p>Again superb and I also agree on how nice it is to use code to configure your container, there is something about the problem being solved that suits it and the superb interface that Jeremy has produced also helps.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
