From: Christian Neukirchen Date: 2005-09-20T22:47:42+09:00 Subject: Re: [ANN] Dissident 0.1, a Ruby dependency injection container "Jason Voegele" writes: > On Tue, September 20, 2005 8:22 am, Christian Neukirchen said: >> Although it took a bit longer than I thought at first, I'm proud to >> announce the first public release of Dissident, a Ruby dependency >> injection container written by me. > > Very good, congratulations on the release. I'll be taking a look at this. Thank you. > I must ask the inevitable question: how does Dissident compare/contrast to > Needle and/or other Ruby DI containers? Needle was the only DI container I really used before Dissident. It has far more features and some more advanced concepts (Interceptors, Logging) than Dissident. However, I noticed that I didn't need most of them. Dissident is, in the end, a reimplementation of the features I need of a quite Needle-like framework. If you know Matz-DI, you could say it's like Matz-DI with all three approaches merged and made almost transparent. I think it's the transparency that makes Dissident so convenient. Some other containers out there, most notably Copland and Seep, are configured in YAML and XML; one could say they are "too static" to directly compare to Dissident. To be honest, I did not really look deeper into these approaches. I don't know of other libraries for DI in Ruby right now, but I can tell you that (the Java version of) PicoContainer was quite an inspiration for Dissident. Last but not the least, Dissident came to my mind explaining a few hacks I did to Needle to Jim Weirich, after doing some Lisp hacking. (Cf. multimethod dispatch and having the current container in a dynamically-scoped variable.) > Jason Voegele -- Christian Neukirchen http://chneukirchen.org