S - Single responsibility principle
O - Open closed principle
L - Liskov substitution principle
I - Interface saggrigation principle
D - Dependency inversion principle