>>I reserve a special remark for the mention of design patterns in the article. They weren't meant as more clutter to fill the programmers' heads with, on the contrary. They were common names for the things many people had to invent over and over and had to resort to long descriptions when communicating the works to others. So instead of saying "the heavy piece of metal on the end of a handle with which you hit things to drive them in or bend them", it's called a hammer. It actually reduces the clutter. Unless one feels a duty to implement them all, preferrably in the same app :)
>
>I agree whole heartedly with everything above. With design patterns, I wonder if not too often a design pattern, which was supposed to be an aid, became the goal of its own implementation.
Because it was the developer's special personal project, while thinking that mastering design patterns will promote him into the rank of high guru. While thinking in terms of patterns may help see the current problem in a new light and bring forth a more elegant and efficient solution, it may also make the programmer force a square peg into a round hole. Design pattern is then not just gold plating, it's actually a Rube Goldberg kludge... and still just a kludge. Hopefully, there's a lesson learned.