Patterns are recipes, they are well known solution to a known problem.
Thinking about them as recipes can give us some insight on how they should be used.
Let's think about the kitchen. In the kitchen, recipes are used, in a similar way, explaining how to cook a particular dish.
And indeed, you expect novice cooks to follow recipes to the letter. However, a chef knows many different recipes,
but rarely follows one.
To the chef recipes are just guidelines of things that work or don't work. But he can mix and match or change the recipe as needed.
Bringing this back to software the software development world, advanced developers should be a chefs! You should be aware of the patterns but not necessarily follow it to the letter.
Because patterns are not treated like this, but rather are made into a “holy” thing that must be used and must be followed to the letter, or else …, I have come to consider all patterns anti-patterns until proven otherwise.
Be the best chefs you can be, and may your dishes always be tasty!!!