If you're interested in learning more about design patterns, or if you'd simply like to have a reference handy when sizing up your next project, I wholeheartedly recommend the following:
The Net Objectives Pattern Repository
Net Objectives has put together some well articulated verbiage detailing the nuances of over half a dozen design patterns. For myself, the inclusion of procedural analogs and non-software analogs (metaphors for each pattern in the real world) are especially helpful. Sample implementations, motivations for use, testing issues and consequences of use are also explored for each pattern.