Design Patterns done in a Pragmatic way!
- OOP
- Creational Patterns
- Structural Patterns
- Behavioral Patterns
-
S - Single Responsibility
-
O - Open-Closed - Open for Extension, but Closed for Modification
-
L - Liskov Substitution - Child Class should be able to stand for their parents
-
I - Interface Segregation - Many specific interface better than one do-it-all interface
-
D - Dependency Inversion - We should program towards interface not implementation
-
Null Pattern - Consider using the null pattern wherever possible, like in following cheatsheets