Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

2
  • 1
    The problem is DIP != DI. DIP is about decoupling abstraction from implementation: A. High-level modules should not depend on low-level modules. Both should depend on abstractions. B. Abstractions should not depend on details. Details should depend on abstractions. DI is a way to decouple object creation from object use. Commented Oct 1, 2015 at 0:43
  • Yes, the distinction is clearly stated in my paragraph 2, "DI one of the possible implementations of DIP", in Uncle Bob's SOLID paradigm. I've also made this clear in an earlier post. Commented Mar 16, 2017 at 6:13