<?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 &#8211; how not to do it</title>
	<atom:link href="http://lostechies.com/jimmybogard/2008/06/17/separation-of-concerns-how-not-to-do-it/feed/" rel="self" type="application/rss+xml" />
	<link>http://lostechies.com/jimmybogard/2008/06/17/separation-of-concerns-how-not-to-do-it/</link>
	<description>Strong opinions, weakly held</description>
	<lastBuildDate>Wed, 19 Jun 2013 09:44:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
	<item>
		<title>By: Jimmy Bogard</title>
		<link>http://lostechies.com/jimmybogard/2008/06/17/separation-of-concerns-how-not-to-do-it/#comment-606</link>
		<dc:creator>Jimmy Bogard</dc:creator>
		<pubDate>Thu, 19 Jun 2008 01:17:30 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/06/17/separation-of-concerns-how-not-to-do-it.aspx#comment-606</guid>
		<description>@Josh

Re: cache key problem

That was a problem in my code, not in the original article.  Whoops.</description>
		<content:encoded><![CDATA[<p>@Josh</p>
<p>Re: cache key problem</p>
<p>That was a problem in my code, not in the original article.  Whoops.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jimmy Bogard</title>
		<link>http://lostechies.com/jimmybogard/2008/06/17/separation-of-concerns-how-not-to-do-it/#comment-605</link>
		<dc:creator>Jimmy Bogard</dc:creator>
		<pubDate>Wed, 18 Jun 2008 12:47:19 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/06/17/separation-of-concerns-how-not-to-do-it.aspx#comment-605</guid>
		<description>@Mark

Nope, definitely not huge sins given the scope of this app.  But it does violate SoC.  It&#039;s a choice whether or not you want to adhere to that principle.

Testability, however, is always a concern.  That governs the long-term maintainability of the system.  If this app didn&#039;t have any business logic, why even build a three-tier application?</description>
		<content:encoded><![CDATA[<p>@Mark</p>
<p>Nope, definitely not huge sins given the scope of this app.  But it does violate SoC.  It&#8217;s a choice whether or not you want to adhere to that principle.</p>
<p>Testability, however, is always a concern.  That governs the long-term maintainability of the system.  If this app didn&#8217;t have any business logic, why even build a three-tier application?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Brackett</title>
		<link>http://lostechies.com/jimmybogard/2008/06/17/separation-of-concerns-how-not-to-do-it/#comment-604</link>
		<dc:creator>Mark Brackett</dc:creator>
		<pubDate>Wed, 18 Jun 2008 12:16:23 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/06/17/separation-of-concerns-how-not-to-do-it.aspx#comment-604</guid>
		<description>In the mag&#039;s defense, I&#039;d guess that there&#039;s hardly any business logic in the whole app. Most apps (espcially MS samples) are thin wrappers over SQL Server data.

In that case, having your &quot;Business Logic Layer&quot; be, essentially, view formatted and accessible data, is pretty much the norm.

I&#039;m not fond of the HttpContext.Current call, or the direct management of Cache - but neither are huge sins.</description>
		<content:encoded><![CDATA[<p>In the mag&#8217;s defense, I&#8217;d guess that there&#8217;s hardly any business logic in the whole app. Most apps (espcially MS samples) are thin wrappers over SQL Server data.</p>
<p>In that case, having your &#8220;Business Logic Layer&#8221; be, essentially, view formatted and accessible data, is pretty much the norm.</p>
<p>I&#8217;m not fond of the HttpContext.Current call, or the direct management of Cache &#8211; but neither are huge sins.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jimmy Bogard</title>
		<link>http://lostechies.com/jimmybogard/2008/06/17/separation-of-concerns-how-not-to-do-it/#comment-603</link>
		<dc:creator>Jimmy Bogard</dc:creator>
		<pubDate>Wed, 18 Jun 2008 11:09:45 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/06/17/separation-of-concerns-how-not-to-do-it.aspx#comment-603</guid>
		<description>@Noob

I&#039;m planning on a follow-up post.  I&#039;m contemplating on a screencast, as the decisions on direction are more important than the final destination.</description>
		<content:encoded><![CDATA[<p>@Noob</p>
<p>I&#8217;m planning on a follow-up post.  I&#8217;m contemplating on a screencast, as the decisions on direction are more important than the final destination.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SOC Noob</title>
		<link>http://lostechies.com/jimmybogard/2008/06/17/separation-of-concerns-how-not-to-do-it/#comment-602</link>
		<dc:creator>SOC Noob</dc:creator>
		<pubDate>Wed, 18 Jun 2008 07:50:00 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/06/17/separation-of-concerns-how-not-to-do-it.aspx#comment-602</guid>
		<description>To make something positive out of the article, any of the more experienced here care to post some code on how to refactor this example to have better separation of concerns?</description>
		<content:encoded><![CDATA[<p>To make something positive out of the article, any of the more experienced here care to post some code on how to refactor this example to have better separation of concerns?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sean Chambers</title>
		<link>http://lostechies.com/jimmybogard/2008/06/17/separation-of-concerns-how-not-to-do-it/#comment-601</link>
		<dc:creator>Sean Chambers</dc:creator>
		<pubDate>Wed, 18 Jun 2008 01:57:44 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/06/17/separation-of-concerns-how-not-to-do-it.aspx#comment-601</guid>
		<description>My god, what is that awful smell???

oh wait, that&#039;s just the snippet of code from a microsoft magazine...whoops!

The worst part of the whole deal is someone (probably in the thousands), will read that article and assume that since it is from a MS mag, it must be considered best practices and go make their logic look the same and act the same.

that is the true horror at hand!</description>
		<content:encoded><![CDATA[<p>My god, what is that awful smell???</p>
<p>oh wait, that&#8217;s just the snippet of code from a microsoft magazine&#8230;whoops!</p>
<p>The worst part of the whole deal is someone (probably in the thousands), will read that article and assume that since it is from a MS mag, it must be considered best practices and go make their logic look the same and act the same.</p>
<p>that is the true horror at hand!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jimmy Bogard</title>
		<link>http://lostechies.com/jimmybogard/2008/06/17/separation-of-concerns-how-not-to-do-it/#comment-600</link>
		<dc:creator>Jimmy Bogard</dc:creator>
		<pubDate>Tue, 17 Jun 2008 20:22:40 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/06/17/separation-of-concerns-how-not-to-do-it.aspx#comment-600</guid>
		<description>@rkg

&quot;Bad&quot; is relative - it&#039;s better than other styles I&#039;ve seen.  It could all be jammed in a code-behind.</description>
		<content:encoded><![CDATA[<p>@rkg</p>
<p>&#8220;Bad&#8221; is relative &#8211; it&#8217;s better than other styles I&#8217;ve seen.  It could all be jammed in a code-behind.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jimmy Bogard</title>
		<link>http://lostechies.com/jimmybogard/2008/06/17/separation-of-concerns-how-not-to-do-it/#comment-599</link>
		<dc:creator>Jimmy Bogard</dc:creator>
		<pubDate>Tue, 17 Jun 2008 20:20:52 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/06/17/separation-of-concerns-how-not-to-do-it.aspx#comment-599</guid>
		<description>@jdn

Have you _seen_ the cover graphic that article had?  I don&#039;t have that kind of talent!

That article was already written, many times over, over the past couple of years.  Check out the recent articles in the MSDN magazine.</description>
		<content:encoded><![CDATA[<p>@jdn</p>
<p>Have you _seen_ the cover graphic that article had?  I don&#8217;t have that kind of talent!</p>
<p>That article was already written, many times over, over the past couple of years.  Check out the recent articles in the MSDN magazine.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jimmy Bogard</title>
		<link>http://lostechies.com/jimmybogard/2008/06/17/separation-of-concerns-how-not-to-do-it/#comment-598</link>
		<dc:creator>Jimmy Bogard</dc:creator>
		<pubDate>Tue, 17 Jun 2008 20:13:22 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/06/17/separation-of-concerns-how-not-to-do-it.aspx#comment-598</guid>
		<description>@Dave

So much pollution!!

It&#039;s still a huge improvement over everything in the code-behind though.</description>
		<content:encoded><![CDATA[<p>@Dave</p>
<p>So much pollution!!</p>
<p>It&#8217;s still a huge improvement over everything in the code-behind though.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joshua Flanagan</title>
		<link>http://lostechies.com/jimmybogard/2008/06/17/separation-of-concerns-how-not-to-do-it/#comment-597</link>
		<dc:creator>Joshua Flanagan</dc:creator>
		<pubDate>Tue, 17 Jun 2008 17:27:21 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/06/17/separation-of-concerns-how-not-to-do-it.aspx#comment-597</guid>
		<description>I agree with the overall design is flawed, but I think I prefer the unsafe cast as opposed to &quot;as&quot; in this scenario. When you say &quot;anyone&quot; can stick something in the cache, I assume you mean other developers. If other developers on your team are using the same cache key for different purposes, I think I&#039;d want to know as soon as possible (fail fast). If an exception isn&#039;t thrown, you will never know that you have a bug, the code will just silently continue to get a cache miss even when the data should be in cache.

I would, however, change the cache key creation so that I don&#039;t get the cached results for 1, 15 when I ask for 11, 5.</description>
		<content:encoded><![CDATA[<p>I agree with the overall design is flawed, but I think I prefer the unsafe cast as opposed to &#8220;as&#8221; in this scenario. When you say &#8220;anyone&#8221; can stick something in the cache, I assume you mean other developers. If other developers on your team are using the same cache key for different purposes, I think I&#8217;d want to know as soon as possible (fail fast). If an exception isn&#8217;t thrown, you will never know that you have a bug, the code will just silently continue to get a cache miss even when the data should be in cache.</p>
<p>I would, however, change the cache key creation so that I don&#8217;t get the cached results for 1, 15 when I ask for 11, 5.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
