Stavo leggendo " Beginning Spring " e questo particolare paragrafo ha attirato la mia attenzione:
The DI pattern resembles other patterns such as Factory or Strategy. We can say that with the Factory pattern the instantiation of objects is still within the responsibility of the Factory definition, which is your code, but with the DI it’s externalized to another component/framework. On the other hand, with the Strategy pattern, the current implementation gets replaced with the help of multiple objects of a same interface, which contain that implementation inside. However, with the DI, the objects that contain those implementations are wired regardless of the implementation defined.
Non sono sicuro di capire cosa dice l'autore nella parte enfatizzata , ma leggere questo mi ha fatto capire che Strategy Pattern è un'implementazione di Inversion of Control, no? (Q1)
Quindi la mia seconda domanda (Q2) è: come è diverso il Pattern della strategia rispetto all'iniezione delle dipendenze?