These so-called 'patterns' are just language features in many languages, which makes it sad I had to learn them in university. Optional/default parameters, higher order functions, closures, ... The 'patterns' only make sense in Java because the language itself is so limited.
I’m so glad to hear others putting words to my own thoughts. I haven’t read all of Design Patterns because it kept striking me as wholly unnecessary in the languages (mainly Python) I was using at the time. I mean, if you want to put name on every kind of chunk of code you can write, go for it. I’m not going to argue about whether calling a function on each item of a list is better or worse than passing that list to the function based on which one is a documented pattern, or debate which pattern to use to make an HTTP GET request. I’d much rather just write the things.
I’m sure lots of people got value from the book. I pity that they were in a situation where it was useful.
> The 'patterns' only make sense in Java because the language itself is so limited.
I will always remember the first pattern I learned -- the Decorator Pattern.
From memory, the example used was making hot beverage.. adding milk, sugar, etc. I looked at the code and said "So its a Link List of items?"
I understand the book was covering things in a simple manner but even this looked like bloat, with things like Milk, Sugar, etc.. being its own class (inheriting the decorator) that, in the end, is simply a enum with a couple of structs if using a language like C.
I just felt it we are adding +30 lines of code for this SIMPLE example -- how much bloat would it be for real world solutions?