Design patterns belong in that nebulous world of meta languages: Language about language. It is a favorite subject in the academia, but it is quite useful for programmers and system architects to be able to describe the different design patterns in their work.
Unfortunately, much of the talk about design patterns is overblown. Patterns are not the silver bullet. There will not be a Pattern Master sitting on top the universe waving a wand and bringing about paradise on earth. There will, however, be hard working programmers who will be able to communicate their work more efficiently by being able to describe the different patterns used in thier work.
AntiPatterns (www.antipatterns.com) Site in conjuction with the book Antipatterns...an antipattern is a block to success in a software project (such as a boat anchor-sunk cost in an expensive system). You get rid of antipatterns through the process of 'refactoring'