[ProgClub list] What is IoC?
John Elliot
jj5 at progclub.org
Tue Oct 11 15:50:01 AEDT 2011
On 11/10/2011 3:57 AM, Stuart Laughlin wrote:
> 1: My favorite at the moment is by Martin Fowler at
> http://www.martinfowler.com/articles/injection.html.
Thanks for your explanation and links Stuart. I haven't read all your
emails yet, but I will. I just wanted to throw in an off-the-cuff remark
about this quote from Fowler:
"In this article I dig into how this pattern works, under the more
specific name of "Dependency Injection", and contrast it with the
Service Locator alternative. The choice between them is less important
than the principle of separating configuration from use."
So it seems like the object of IoC is to separate configuration from
use, and my knee-jerk reaction to that would be to use a factory. So
from your example you would configure Notifier to use a factory to
create its IMessageClient (which concretely might be a EmailSender) and
if you want to configure Notifier some other way (for testing or
improvement) then you could just create a different factory that created
the new IMessageClient. In your testing code you'd configure a mock
message client that just logged to the console or something like that,
and in your production system you'd use a real IMessageClient
implementation handed out by the factory.
So far I don't see what IoC buys me, but I'll keep reading.
More information about the list
mailing list