<?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: The Danger of Single Responsibility in Programming Continued</title>
	<atom:link href="http://www.thycotic.com/the-danger-of-single-responsibility-in-programming-continued/feed" rel="self" type="application/rss+xml" />
	<link>http://www.thycotic.com/the-danger-of-single-responsibility-in-programming-continued</link>
	<description></description>
	<lastBuildDate>Thu, 11 Mar 2010 16:14:45 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.3</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: David Cooksey</title>
		<link>http://www.thycotic.com/the-danger-of-single-responsibility-in-programming-continued/comment-page-1#comment-3932</link>
		<dc:creator>David Cooksey</dc:creator>
		<pubDate>Mon, 30 Nov 2009 14:03:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.thycotic.com/?p=443#comment-3932</guid>
		<description>Michael, I agree that if the message was pulled from the database or if there were a good number of message formats to choose from that a separate provider would make sense.

My problem with this implementation is that there is no such complexity in message format.

Oleg, you are absolutely right that applying SRP when you are not sure what the responsibilities are is a bad idea.  In this case, my dispute is with an overly literal interpretation of SRP that fragments code to no benefit.  The code sample here is not artificial.  It, and the &#039;SRP&#039; justification of it, are real (I just changed the class names and functionality slightly, the provider wrapping a string.format is real).  My intention is not to scare people away from the SRP, that would be silly.  My intention is to warn people that a simple literal reading of SRP is not sufficient, critical thinking is (as always in programming) still required.</description>
		<content:encoded><![CDATA[<p>Michael, I agree that if the message was pulled from the database or if there were a good number of message formats to choose from that a separate provider would make sense.</p>
<p>My problem with this implementation is that there is no such complexity in message format.</p>
<p>Oleg, you are absolutely right that applying SRP when you are not sure what the responsibilities are is a bad idea.  In this case, my dispute is with an overly literal interpretation of SRP that fragments code to no benefit.  The code sample here is not artificial.  It, and the &#8216;SRP&#8217; justification of it, are real (I just changed the class names and functionality slightly, the provider wrapping a string.format is real).  My intention is not to scare people away from the SRP, that would be silly.  My intention is to warn people that a simple literal reading of SRP is not sufficient, critical thinking is (as always in programming) still required.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: The Dangers of Hammers (or, Why SRP Isn’t Dangerous) - The .NET Buffet</title>
		<link>http://www.thycotic.com/the-danger-of-single-responsibility-in-programming-continued/comment-page-1#comment-3921</link>
		<dc:creator>The Dangers of Hammers (or, Why SRP Isn’t Dangerous) - The .NET Buffet</dc:creator>
		<pubDate>Sat, 21 Nov 2009 02:28:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.thycotic.com/?p=443#comment-3921</guid>
		<description>[...] not here to talk about the dangers of hammers.&#160;&#160; But as David Cooksey has come up with another example of how SRP (the Single Responsibility Principle) is dangerous when completely misund..., I figured I had to reply with [...]</description>
		<content:encoded><![CDATA[<p>[...] not here to talk about the dangers of hammers.&#160;&#160; But as David Cooksey has come up with another example of how SRP (the Single Responsibility Principle) is dangerous when completely misund&#8230;, I figured I had to reply with [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Single Responsibility &#171; Drawing Blanks</title>
		<link>http://www.thycotic.com/the-danger-of-single-responsibility-in-programming-continued/comment-page-1#comment-3920</link>
		<dc:creator>Single Responsibility &#171; Drawing Blanks</dc:creator>
		<pubDate>Fri, 20 Nov 2009 18:02:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.thycotic.com/?p=443#comment-3920</guid>
		<description>[...] leave a comment &#187;  David Cooksey wrote some interesting observations on The Dangers of Single Responsibility in Programming (continued here ). [...]</description>
		<content:encoded><![CDATA[<p>[...] leave a comment &raquo;  David Cooksey wrote some interesting observations on The Dangers of Single Responsibility in Programming (continued here ). [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Oleg</title>
		<link>http://www.thycotic.com/the-danger-of-single-responsibility-in-programming-continued/comment-page-1#comment-3918</link>
		<dc:creator>Oleg</dc:creator>
		<pubDate>Fri, 20 Nov 2009 17:38:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.thycotic.com/?p=443#comment-3918</guid>
		<description>While I understand your position it seems kind of artificial to me.

You are kind of replacing SRP intention to separate concerns by absouletely different question - &quot;What is going to happen if I am not sure which are my concerns?&quot;

Well, bad will happen for sure! But SRP was not intended to be used when you are not sure if Error Message provision is a separate concern.</description>
		<content:encoded><![CDATA[<p>While I understand your position it seems kind of artificial to me.</p>
<p>You are kind of replacing SRP intention to separate concerns by absouletely different question &#8211; &#8220;What is going to happen if I am not sure which are my concerns?&#8221;</p>
<p>Well, bad will happen for sure! But SRP was not intended to be used when you are not sure if Error Message provision is a separate concern.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael L</title>
		<link>http://www.thycotic.com/the-danger-of-single-responsibility-in-programming-continued/comment-page-1#comment-3917</link>
		<dc:creator>Michael L</dc:creator>
		<pubDate>Fri, 20 Nov 2009 15:54:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.thycotic.com/?p=443#comment-3917</guid>
		<description>David, I almost agree with you. Any design concept can be applied either incorrectly or inappropriately. In the example that you&#039;ve given, having a provider to create the message in that form is stretching SRP, IMO. OTOH, if the provider had to go to a message store (ex. database) to retrieve an appropriate message, or there was a need to engage a translation service (to name a couple), the partitioning of functionality that you&#039;ve given is appropriate, IMO.

There are many things that we deal with throughout life that are dangerous - knives, chainsaws, orbital space lasers for example. Experience gives us guidance.</description>
		<content:encoded><![CDATA[<p>David, I almost agree with you. Any design concept can be applied either incorrectly or inappropriately. In the example that you&#8217;ve given, having a provider to create the message in that form is stretching SRP, IMO. OTOH, if the provider had to go to a message store (ex. database) to retrieve an appropriate message, or there was a need to engage a translation service (to name a couple), the partitioning of functionality that you&#8217;ve given is appropriate, IMO.</p>
<p>There are many things that we deal with throughout life that are dangerous &#8211; knives, chainsaws, orbital space lasers for example. Experience gives us guidance.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Richard A.</title>
		<link>http://www.thycotic.com/the-danger-of-single-responsibility-in-programming-continued/comment-page-1#comment-3915</link>
		<dc:creator>Richard A.</dc:creator>
		<pubDate>Thu, 19 Nov 2009 17:06:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.thycotic.com/?p=443#comment-3915</guid>
		<description>David, I totally agree, check out my post on SRP, too.</description>
		<content:encoded><![CDATA[<p>David, I totally agree, check out my post on SRP, too.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
