Design Patterns - Elements of Resusable Object-Oriented Software by Erich Gamma, et. al.
This is the book that launched a thousand software architect careers. Considered by all to be a classic, it was the first serious attempt to document repeatable high-level software designs. The patterns themselves have aged fairly well, but what really made this book stand out was the taxonomy and prescriptive format used to document the patterns. It's one of those books that you get more out of each time you crack it open. It's dense and has a somewhat academic/scientific flavor to it, making it difficult to read in places. If you find this a turn off, the derivative works are more approachable and cover all the same topics this book does. It may be nostalgia, but I prefer this version over the derivatives.