The moment I saw IoC wiring in code I thought of one man's wish for better IoC wiring in code (we were using Spring at the time).
Behold:
public class MyModule extends AbstractModule {
protected void configure() {i
bind(Service.class)
.to(ServiceImpl.class)
.in(Scopes.SINGLETON);
}
}
And how to inject the Service implementation:
public class Client {
private final Service service;
@Inject
public Client(Service service) {
this.service = service;
}
public void go() {
service.go();
}
}
Now you can test drive IoC wiring without feeling fruity (test driving XML always felt weird).
Which reminded me of a quote by Victoria Livschitz:
We now have a generation of young programmers who think of software in terms of angle brackets. An enormous mess of XML documents that are now being created by enterprises at an alarming rate will be haunting our industry for decades. With all that excitement, no one seems to have the slightest interest in basic computer science.
She was talking about web services but it seems applicable to IoC wiring too.
Via, Guice 1.0 Released.
Update: Similarly, Configuration in Java - It sure beats XML!. Mentions, using Java 6's hotpatch to reload the configuration too.
1 comment:
Amen! Still, I'm not sure the world is ready for YADIC (Yet Another Dependency Injection Container).
Post a Comment