Tuesday, December 8, 2015

SOLID - An object oriented design technique




 

 

Stands for
(acronym)
Concept
 
S
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
LSP
“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
ISP
“many client-specific interfaces are better than one general-purpose interface.”
D
DIP                     
one should “Depend upon Abstractions. Do not depend upon concretions.”