Martin Fowler on DI:
https://martinfowler.com/articles/injection.html https://martinfowler.com/bliki/InversionOfControl.html https://martinfowler.com/articles/dipInTheWild.html
IOC:Inversion of Control (IoC) is a design pattern that addresses a component’s dependency resolution, configuration and lifecycle.
DI
Lifecycle
Configuration
https://www.springbyexample.org/examples/preface-a-little-history.html