Initial |
Stands for (acronym) |
Concept |
S |
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) |
|
O |
"software entities … should be open for extension, but closed for modification." |
|
L |
"objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program." See also design by contract. |
|
I |
Interface segregation principle "many client-specific interfaces are better than one general-purpose interface." [8] |
|
D |
Dependency inversion principle one should "Depend upon Abstractions. Do not depend upon concretions." [8] |