Here's the conclusion of a thought-provoking article on patterns:Design patterns of 1972
Patterns are signs of weakness in programming languages.
When we identify and document one, that should not be the end of the story. Rather, we should have the long-term goal of trying to understand how to improve the language so that the pattern becomes invisible or unnecessary.
The premise of the post, that patterns compensate for language deficiencies, is quite compelling and certainly worth thinking more about.
(via the excellent lesscode which seems to have sprung to life again)