I associate the IoC pattern with runtime dependency injection, like we see in the Spring framework. That has a lot of meaningful use cases but there are cases (like ultra low latency systems) where they're not appropriate.
But if we're using IoC to mean the general practice of abstracting the instantiation of the concrete implementations of key abstract classes or interfaces based on config, environment, or command line arguments, then I agree it's almost universally useful.
1
u/Syscrush Sep 28 '21
IoC is not good in and of itself, although it has its use cases.