Other Flashcards
Reflection
code which is able to inspect other code in the same system (or itself).
SOLID
S
Single responsibility principle[4]
a class should have only a single responsibility (i.e. changes to only one part of the software’s specification should be able to affect the specification of the class).
O
Open/closed principle[5]
“software entities … should be open for extension, but closed for modification.”
L
Liskov substitution principle[6]
“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[7]
“many client-specific interfaces are better than one general-purpose interface.”[8]
D
Dependency inversion principle[9]
High-level modules should not depend on low-level modules. Both should depend on abstractions.