Principles of Object-Oriented Design
Principles of Object-Oriented Design
The OCP requires that each software entity should be open for
extension, but closed for
modification.
The DIP requires that high level modules should not depend on low
level modules, both should
depend on abstraction. Also,
abstraction should not depend on details, details should depend
on
abstractions.