Dear Hendy,
When listening to a recent
podcast from Software Enigneering Radio (se-radio.net), Bob Hanmer put patterns into context like this: These are for having heard of them and putting them into your toolbelt until the situation arises that you need them. Then refresh your memory and use them if appropriate.
Implementation patterns are a bit differenent as you use them much more often than design, architectural and all the other patterns. To go with Cristopher Alexander - implementation patterns are the stuff that makes the code alive (i.e. communicating, simple, flexible) and that capute the quality that can hardly be named otherwise. It is very difficult to describe the things that make code great - patterns are a very useable way of doing this.
Michael