Design patterns help you benefit from other people’s experiences. This is often termed experience reuse. You learn how they solved challenges, how they tried to adopt new behaviors in their systems, and so on. A pattern may not perfectly fit into your work, but if you know the best practices as well as the problems of a pattern at the beginning, you are more likely to make a better application. This is why I now tell you about the criticisms of design patterns. Knowing about them can offer you some real value. ...