4 ms·
It's reasonable to provide a single implementation of an interface, if the goal is to facilitate dependency injection for that component. The problem I find wit
by oftenwrong 6y ago
It's reasonable to provide a single implementation of an interface, if the goal is to facilitate dependency injection for that component. The problem I find with Spring is that it is designed for dependency injection at all levels of its architecture, leading it to be one of the ultimate examples of Ravioli Code.
https://wiki.c2.com/?RavioliCode https://wiki.c2.com/?RavioliCode
DI is a powerful concept, but Spring projects rely on DI in such a generic way that it often doesn't even make sense for your application. You have to gain intimate knowledge of the abstractions, and inject a bunch of code in a bunch of places just to make it do the very-straightforward thing you were trying to do.
- avmich 6y ago> It's reasonable to provide a single implementation of an interface, if the goal is to facilitate dependency injection for that component. You don't really need dependency injection if there is only single choice of what to inject. You can just refer in code to the only possible component.