A software design pattern is a general reusable solution to a commonly occurring problem within a given context in software design. A design pattern is not a finished or completed design. It is actually a description or template for solution to a problem.
- Algorithm strategy patterns
- Computational design patterns
- Execution patterns
- Implementation strategy patterns
- Structural design patterns