There is a somewhat frequent type of question around SE.SE that makes me scratch my head in confusion, sometimes - The "What's the best pattern for X" questions.
More often than not, the person who is asking those questions is a somewhat newbie developer, having its first contacts with a more advanced concept like patterns. Often, the developer in the question isn't concerned about the exact details of the problem he has to solve - he just want a pattern that can fix his barely specified problem and be done with it, more or less like some people love to copy-paste code from Stack Overflow without understanding what exactly is going on.
While design patterns are really helpful to understand software and to think about possible solutions, they are a relatively dangerous type of power tool for us developers and designers, more or less like a chainsaw - they are awesome to solve a few problems but can hurt you very badly if you don't know exactly what you're doing.
So, usually, when I see those questions asking for help to shop for a pattern for a problem they barely described, I usually leave a comment pointing them to the fact that patterns are not a buffet of solutions to pick from, and that they should understand their language and their problem better before hunting for patterns. Those questions still gather answers anyways, because reasons.
I'm starting to question myself is those questions aren't actively spreading misinformation about this really useful resource. While it is good that people search for the best solutions for their problems, "give-me-a-pattern" style of questions are just lazy, not far away from "give-me-da-code" questions from SO. Those questions normally show such a lack of understanding for the topic they end up being just garbage - the developer in question not only won't be able to implement those patterns properly (because he lacks the skill to understand how they work in the first place, which is not low) but will also leave a blighted question on the site that incentives that sort of lazy, low-quality, not-critical thinking that is hurting our profession badly nowadays.
Design Patterns aren't something one can just pick from a book and use to solve a problem, and they aren't something that can effectively be recommended using a shallow description of a problem as a basis. They are very important structural decisions that must be made by people that understand the full scope of the problem, not by us.
So, while I applaud the questions about implementing design patterns correctly, I suggest that we close those "Shopping-for-patterns" questions on sight. They are not helping us, really, nor the developers that ask them without knowing exactly where they are going.
Any thoughts on this?
find or recommend tools, libraries, programming languages, resources (including books, blogs, tutorials, and examples), or projects to undertake
which may include some of these questions, along withunclear what you're asking
ortoo broad
. We have valid reasons to close questions that can generate too many answers - that isn't a problem. Ensuring that we communicate the problems with these questions and how to make them good is going to be very important if we decide, as a community, to do this.