Advantages of Design patterns:
- Reusability in countless projects to solve problems with a common pattern
- Spend less time figuring out how to solve a particular issue
- Spend a safe time on implementing the solution and improve the quality of the software product
- Provides more value for the money
- Proven solution – Extending or enhancing a software system that relies on well-established design patterns is easier
- Refactoring your code base also means that you introduce new bugs
- Reduces the risk of implementing solutions that only work in the short-term.
- Lessen the need for frequent changes by using design patterns
- Whether or not to use a design pattern can be a tough decision.
- Due to their generic nature, design patterns may not be able to address specific issues. In such cases, you will need to adapt them and change their implementation to fit your particular needs.
- A certain level of expertise is required to implement design patterns correctly.
- Unexperienced teams may fail to implement them properly, which can lead to bugs and unexpected delays.
Classic DEV Post from Nov 20 '18