On Wednesday, 22 August 2012 at 16:57:26 UTC, Paulo Pinto wrote:
On Wednesday, 22 August 2012 at 15:51:05 UTC, Philip Daniels wrote:
snip<

If we had dynamic loading, would we be able to do dependency
injection in D?

Dependency injection does not require dynamic loading per se.

It is all about using interfaces instead of classes, and initializing the corresponding instance members.

You just need some piece of code that takes the responsibility of locating such interfaces, by registering the classes somehow, or by compile time reflection, which gets called on program initialization.

You can do this in D today.

--
Paulo

But wouldn't that require you to link everything together at, err, compile time?

What I'm getting at is, would it be possible to port a DI/IoC tool such as StructureMap (http://docs.structuremap.net/index.html) or Spring to D? This can handle tasks such as creating dynamic plug-in architectures. For example, given SomeBigApp.exe (not written by me) which looks in standard folders for components implementing a particular interface, I can just drop my code in that folder and have it loaded at runtime. I could even drop it in there after the program starts running. I know how to achieve this in the .Net world, just wondered if it was possible in D.

Reply via email to