Tech problems sometimes have well-defined solutions, they are flexible, modular and more understandable. Design patterns are abstracted solutions which ignore the technical details.
-
- Builder
- Prototype
- Singleton
- Factory Design Pattern
- Simple Factory (technically not a design pattern)
- Factory Method
- Abstract Factory
- Encapsulation
- Abstraction
- Inheritance
- Polymorphism
-
Single Responsibility Principle
-
Open Closed Principle
-
Liskov Substitution Principle
-
Interface Segregation Principle
-
Dependency Inversion Principle
-
Least Knowledge Principle
-
Composite/Aggregate Reuse Principle
[1] "Software Design Pattern: Best Practices for Software Developer" by educative.io
[2] "Grokking the Object Oriented Design Interview" by educative.io
[3] Design Patterns by refactoring.guru