links: [[Programming MOC]]
---
## What is Software Design Pattern?
A Software Design pattern is a general, reusable solution to a commonly occurring problem. It is a description or template for how to solve the problem that can be used in many different situations
> Design patterns are formalized best practices that the programmer can use to solve common problems when designing an application or system.
### Classification of Design Patterns
- [[Creational Design Pattern]]
- Structural
- Behavioral
- [[Functional Design Pattern]]
- Concurrency
- Architectural
- Cloud Distributed
- [[202009061619 Make Interfaces hard to misuse]] - How to design interfaces
---
tags: #MOC , #programming , #best-practices
[Source](https://en.wikipedia.org/wiki/Software_design_pattern)