You can think: I’m following the Dependency Inversion Pattern!. But, as I showed at the beginning of this article, the original problem of dependencies mentioned by Robert Martin no longer exists in C#. Therefore, the only reason to do DI should be to support multiple implementations of these abstractions (e.g.: strategy, state, adapter, etc)