InitialStands for(acronym)Concept
S SRPSingle responsibility principleaclassshould have only a single responsibility.
O OCPOpen/closed principlesoftware entities should be open for extension, but closed for modification.
L LSPLiskov substitution principleobjects in a program should be replaceable with instances of their subtypes without altering the correctness of that program. See alsodesign by contract.
I ISPInterface segregation principlemany client-specific interfaces are better than one general-purpose interface.[5]
D DIPDependency inversion principleone should Depend upon Abstractions. Do not depend upon concretions.[5]Dependency injectionis one method of following this principle.