Initial | Stands for (acronym) |
Concept |
---|---|---|
S | SRP [4] |
|
O | OCP [5] |
|
L | LSP [6] |
|
I | ISP [7] |
|
D | DIP [9] |
|
-
- 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.
Abstraction dependency
The presence of abstractions to accomplish DIP have other design implications in an Object Oriented program:- All concrete class packages must connect only through interface/abstract classes packages.
- No class should derive from a concrete class.
- No method should override an implemented method.[5]
- All variable instantiation requires the implementation of a Creational pattern as the Factory Method or the Factory pattern, or the more complex use of a Dependency Injection framework.