Design patterns let you benefit from other people’s experiences, which is often called experience reuse
. You learn how they solved problems, 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 concentrate on 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 will now discuss design pattern criticisms. Knowing about them can offer you some real value. If you think critically about patterns before you design ...