You should aim to ship with neither Spring nor PicoContainer.

It is perfectly possible to construct a set of DI components that comprise FtpServer and in a main method do :

  Foo foo = new Foo();
  Bar bar = new Bar(foo);
  Apple apple = new Apple();
  apple.setFoo(foo);
  apple.setBar(bar);

This way, open doors for others to take your components and ship standalone, or using Spring as part of a later app, using Pico as part of a larger app, using Geronimo or using EJB 3.0 (etc). Choosing a DI framework early is nuts.

- Paul

On Oct 1, 2005, at 5:52 PM, Niklas Gustavsson wrote:

Paul Hammant wrote:

OK, if we're keen about Dependency Injection, we'd need to change a lot. The basic FtpConfig component should have little knowledge of UserManager (and others), and no coupling to it...


If we do aim for a DI/IoC approach (and I think we should), should we choose a DI implementation (Pico, Spring...) that we ship as the default implementation? Or, should we try to implement a specialized runtime ourselves? I would certainly go for the former option and would favour Spring but I'm guessing that Paul won't agree on this choice :-).

/niklas


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to