Authors: Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides.
Capturing a wealth of experience about the design of object-oriented software, four top-notch designers present a catalog of simple and succinct solutions to commonly occurring design problems. These 23 patterns allow designers to create more flexible, elegant, and ultimately reusable software without reinventing the wheel.
It's the absolute foundation for any serious software writer, on one side very simple and straightforward, but also a definitive requirement.
When you're done with Design Patterns, this is clearly the second level on the design patterns topic.
Read the patterns catalog online: http://www.martinfowler.com/eaaCatalog/