Definition |
Solution templates for specific problems |
Guidelines for writing clean, maintainable code |
Scope |
Solves common software design issues |
General best practices and rules to follow |
Purpose |
To provide a well-known structure to solve a design issue |
To promote good coding practices and code maintainability |
Examples |
Singleton, Factory, Observer, Strategy |
SOLID, DRY, KISS, YAGNI |
Usage |
Implemented as part of code architecture |
Used as rules for the design and architecture of the system |