SOLID & Design Patterns
Single Responsability Principle, Open-Closed Principle, Liskov Substitution Principle, Interface Segregation Principle, Dependency Inversion Principle, Creational Design Patterns, Structural Design Patterns and Behavioral Design Patterns.