<?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: Application Wiring on Auto-Pilot</title>
	<atom:link href="http://misko.hevery.com/2008/09/24/application-wiring-on-auto-pilot/feed/" rel="self" type="application/rss+xml" />
	<link>http://misko.hevery.com/2008/09/24/application-wiring-on-auto-pilot/</link>
	<description>Testability Explorer</description>
	<lastBuildDate>Fri, 30 Jul 2010 03:59:03 -0400</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Freeman</title>
		<link>http://misko.hevery.com/2008/09/24/application-wiring-on-auto-pilot/comment-page-1/#comment-1975</link>
		<dc:creator>Freeman</dc:creator>
		<pubDate>Thu, 01 Oct 2009 22:03:35 +0000</pubDate>
		<guid isPermaLink="false">http://misko.hevery.com/?p=236#comment-1975</guid>
		<description>sx2008,
In delphi language you can inherit your objects from TInterfacedObject and implement an interface that you use to reference your object.
TInterfacedObject implements reference counting and frees the object when there is no reference to it.</description>
		<content:encoded><![CDATA[<p>sx2008,<br />
In delphi language you can inherit your objects from TInterfacedObject and implement an interface that you use to reference your object.<br />
TInterfacedObject implements reference counting and frees the object when there is no reference to it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: misko</title>
		<link>http://misko.hevery.com/2008/09/24/application-wiring-on-auto-pilot/comment-page-1/#comment-1732</link>
		<dc:creator>misko</dc:creator>
		<pubDate>Mon, 24 Aug 2009 05:19:39 +0000</pubDate>
		<guid isPermaLink="false">http://misko.hevery.com/?p=236#comment-1732</guid>
		<description>@sx20082

that is an excellent question, but unfortunately, I don&#039;t have any experience with those languages, so I am not sure what the right answer is.</description>
		<content:encoded><![CDATA[<p>@sx20082</p>
<p>that is an excellent question, but unfortunately, I don&#8217;t have any experience with those languages, so I am not sure what the right answer is.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sx2008</title>
		<link>http://misko.hevery.com/2008/09/24/application-wiring-on-auto-pilot/comment-page-1/#comment-1728</link>
		<dc:creator>sx2008</dc:creator>
		<pubDate>Sun, 23 Aug 2009 17:11:24 +0000</pubDate>
		<guid isPermaLink="false">http://misko.hevery.com/?p=236#comment-1728</guid>
		<description>In a programming language without garbage collection (eg. Delphi or C++):
Who is responsible to free the injected objects like &quot;Wheel&quot;?
The test class asks the factory for building a new Car; so when the tests are finished it frees the car object (inside teardown).
Should the car class free all injected objects?</description>
		<content:encoded><![CDATA[<p>In a programming language without garbage collection (eg. Delphi or C++):<br />
Who is responsible to free the injected objects like &#8220;Wheel&#8221;?<br />
The test class asks the factory for building a new Car; so when the tests are finished it frees the car object (inside teardown).<br />
Should the car class free all injected objects?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: To &#8220;new&#8221; or not to &#8220;new&#8221;&#8230; &#124; Miško Hevery</title>
		<link>http://misko.hevery.com/2008/09/24/application-wiring-on-auto-pilot/comment-page-1/#comment-247</link>
		<dc:creator>To &#8220;new&#8221; or not to &#8220;new&#8221;&#8230; &#124; Miško Hevery</dc:creator>
		<pubDate>Wed, 01 Oct 2008 04:04:33 +0000</pubDate>
		<guid isPermaLink="false">http://misko.hevery.com/?p=236#comment-247</guid>
		<description>[...] for wiring your application together. However, better than writing factories,  we want to use automatic dependency injection such as GUICE to do the wiring for us. But can DI really save us from all of the new [...]</description>
		<content:encoded><![CDATA[<p>[...] for wiring your application together. However, better than writing factories,  we want to use automatic dependency injection such as GUICE to do the wiring for us. But can DI really save us from all of the new [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave Astels</title>
		<link>http://misko.hevery.com/2008/09/24/application-wiring-on-auto-pilot/comment-page-1/#comment-245</link>
		<dc:creator>Dave Astels</dc:creator>
		<pubDate>Tue, 30 Sep 2008 18:20:13 +0000</pubDate>
		<guid isPermaLink="false">http://misko.hevery.com/?p=236#comment-245</guid>
		<description>I agree with Misko.  The design and testability concepts he&#039;s been talking about here are fundamental OO ideas... nothing language dependent.  The implementation of those ideas will definitely be language dependent.  Java has several dependancy injection frameworks to choose from.  I&#039;m not familiar with any for other languages.  AFAIK C++ doesn&#039;t have the reflective capability, and dynamic languages like Ruby don&#039;t have the type information on constructor arguments.  You would have to add some form of meta-linguistic information to state your dependancies for a DI framework to use.

So.. the ideas are valid outside of Java, and have the same value (i.e. high).  You just have to do more of the work yourself.

Dave</description>
		<content:encoded><![CDATA[<p>I agree with Misko.  The design and testability concepts he&#8217;s been talking about here are fundamental OO ideas&#8230; nothing language dependent.  The implementation of those ideas will definitely be language dependent.  Java has several dependancy injection frameworks to choose from.  I&#8217;m not familiar with any for other languages.  AFAIK C++ doesn&#8217;t have the reflective capability, and dynamic languages like Ruby don&#8217;t have the type information on constructor arguments.  You would have to add some form of meta-linguistic information to state your dependancies for a DI framework to use.</p>
<p>So.. the ideas are valid outside of Java, and have the same value (i.e. high).  You just have to do more of the work yourself.</p>
<p>Dave</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: misko</title>
		<link>http://misko.hevery.com/2008/09/24/application-wiring-on-auto-pilot/comment-page-1/#comment-244</link>
		<dc:creator>misko</dc:creator>
		<pubDate>Tue, 30 Sep 2008 17:12:53 +0000</pubDate>
		<guid isPermaLink="false">http://misko.hevery.com/?p=236#comment-244</guid>
		<description>@Arvind,

I am not a C++ expert but I have forwarded your question to someone who is. My understanding is that most of these things apply in any language. There are differences, for example C++ does not have automatic dependency injection, and you have to worry about object ownership for reclaiming memory, but the high level concepts should hold.

-- Misko</description>
		<content:encoded><![CDATA[<p>@Arvind,</p>
<p>I am not a C++ expert but I have forwarded your question to someone who is. My understanding is that most of these things apply in any language. There are differences, for example C++ does not have automatic dependency injection, and you have to worry about object ownership for reclaiming memory, but the high level concepts should hold.</p>
<p>&#8211; Misko</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Arvind</title>
		<link>http://misko.hevery.com/2008/09/24/application-wiring-on-auto-pilot/comment-page-1/#comment-241</link>
		<dc:creator>Arvind</dc:creator>
		<pubDate>Tue, 30 Sep 2008 06:05:23 +0000</pubDate>
		<guid isPermaLink="false">http://misko.hevery.com/?p=236#comment-241</guid>
		<description>I have been following your articles for sometime now. Your articles sure get me thinking on how to write applications that could be tested and maintained easily. However, I am not clear how much of this is applicable to applications written in C++. Since that is the language that I exclusively program in. Please clarify.</description>
		<content:encoded><![CDATA[<p>I have been following your articles for sometime now. Your articles sure get me thinking on how to write applications that could be tested and maintained easily. However, I am not clear how much of this is applicable to applications written in C++. Since that is the language that I exclusively program in. Please clarify.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: misko</title>
		<link>http://misko.hevery.com/2008/09/24/application-wiring-on-auto-pilot/comment-page-1/#comment-230</link>
		<dc:creator>misko</dc:creator>
		<pubDate>Fri, 26 Sep 2008 14:31:55 +0000</pubDate>
		<guid isPermaLink="false">http://misko.hevery.com/?p=236#comment-230</guid>
		<description>@RichB

Yes, it is very rare to have multiple overloaded constructors for object since each constructor just does simple field assignment.</description>
		<content:encoded><![CDATA[<p>@RichB</p>
<p>Yes, it is very rare to have multiple overloaded constructors for object since each constructor just does simple field assignment.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: RichB</title>
		<link>http://misko.hevery.com/2008/09/24/application-wiring-on-auto-pilot/comment-page-1/#comment-228</link>
		<dc:creator>RichB</dc:creator>
		<pubDate>Fri, 26 Sep 2008 11:11:15 +0000</pubDate>
		<guid isPermaLink="false">http://misko.hevery.com/?p=236#comment-228</guid>
		<description>When you code like this, do you never see constructor overloads?</description>
		<content:encoded><![CDATA[<p>When you code like this, do you never see constructor overloads?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
