From: Jacob Fugal Date: 2005-09-22T23:37:39+09:00 Subject: Re: [ANN] Dissident 0.1, a Ruby dependency injection container On 9/22/05, Christian Neukirchen wrote: > Piergiuliano Bossi writes: > > Ehm, to be precise I'm not advocating the use of an IoC container; on > > the other side, the principle of dependency injection is an important > > tool to put in your box. > > Just curious, but you could explain why you do not advocate using IoC > containers? In my understanding, Giuliano wasn't advocating against using IoC frameworks[1] (or more specifically, DI frameworks[2]). He simply disclaimed himself from advocating a framework or frameworks in general. He advocates DI as a principle/tool but leaves it at that. Of course, he may indeed have been advocating against using DI frameworks, in which case I'll let him go ahead and defend his position. :) Jacob Fugal [1] I replaced discussion of "containers" with "frameworks". A container is an element of one approach to dependency injection. It's not a necessary element, and even when it is used it may be named differently (e.g. Coplands "registry"). Also, ad-hoc DI without a framework may use a form of container. What's being discussed -- ie. entities such as Copland, Needle, Dissident, Matz-DI and even Java's PicoContainer (despite the word "Container" in the name) -- are frameworks. [2] The confusion about Inversion of Control (IoC) versus Dependency Injection (DI) is significant. I'd suggest avoiding the term IoC in favor of DI unless you are specifically talking about an IoC principle which is independent of DI.