In the past on interviews, I would sometimes say "Design Patterns often arise out of a search for ways to overcome shortcomings of a particular version of a language, and are, as a result, often over-generalizations that don't look or behave very similarly when applied to different languages. I prefer to focus on how to use the latest features of whatever language I am working in to get a good design than to seek and organize named patterns that sometimes have little in common in different environments except a name."
Sometimes this worked, other times they were like "Okay, you don't know much about Design Patterns, well, they are very important to us here..."
I still think there is a lot to what I used to say -- a lot of things look and feel very different to me in Java 7, Java 17, C++ or Python, because the language features we have at our disposal to accomplish things are so different. Overloaded constructors, or not, distinction between owned instances, or garbage-collection and a lot of other details can be very different.
So let's say on the topic of "The most useful design patterns in Java, how they would generally look in practice, and how we would choose between them and what that means for our code" -- should that have a separate sub-forum besides this one?
And I am not sure that there is any need to segregate these discussions from the present forum.
I guess I am asking what prior practice has been for the kinds of discussion that would take place among people who have either read "Head First Design Patterns" or those who are asking questions that would benefit from doing so.
Does that discussion belong right here "In General" or maybe someplace else?
I find that when I start going beyond the superficial "Naming and Taxonomy" of them into really talking about what the impacts of choosing some over the others are on the design of the whole program, it gets deep fast.
Many people think of them as just something to know a little about to do better on interviews, others are actually concerned with coming up with great designs that will reward them with easier maintainability, better re-use, etc. -- not sure if that impacts where the discussions should take place, just something I noted.
I will note that most of the break-out sub-forums under Java generally seem to be concerned with either various popular frameworks or areas of the now very large set of standard JDK api's.
RTFJD (the JavaDocs are your friends!) If you haven't read them in a long time, then RRTFJD (they might have changed!)