2901 shaares
124 private links
124 private links
SRP: Single responsibility principle
a class should have only a single responsibility (i.e. only one potential change in the software's specification should be able to affect the specification of the class)
OCP: Open/closed principle
“software entities … should be open for extension, but closed for modification.”
LSP: Liskov substitution principle
“objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program.” See also design by contract.
ISP: Interface segregation principle
“many client-specific interfaces are better than one general-purpose interface.”
DIP: Dependency inversion principle
one should “depend upon abstractions, [not] concretions.”