A design pattern is a reusable solution to a commonly occurring problem in software design. It is a general approach or a set of guidelines that can be applied to solve a particular design problem in a software system. Design patterns capture best practices and proven solutions that have evolved over time and have been found to be effective in solving specific problems.
Design patterns provide a common vocabulary and a shared understanding among software developers, which can help improve communication and collaboration. They can also help improve the quality of software systems by making them more modular, maintainable, and extensible.
- Abstract class
- SOLID principle
- Factory_method
- abstract factory
- Singleton
- Builder
- Prototype
