SOLID Design Principles Flashcards
Single-responsibility principle
A class should have only one responsibility.
Open-closed principle
A software entity should be open for extension, but closed for modification.
Liskov substitution principle
If S is a subtype of T, then objects of type T may be replaced with objects of type S.
Objects of a superclass shall be replaceable with objects of its subclasses without breaking the application.
Interface segregation principle
No client should be forced to depend on methods it does not use.
Dependency inversion principle
High-level modules should not depend on low-level modules. Both should depend on abstractions.
Abstractions should not depend on details. Details should depend on abstractions.