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)