Design Patterns: Elements of Reusable Object-Oriented SoftwareErich Gamma, Richard Helm, Ralph Johnson, and John Vlissides
This book is the product of a geographically distributed quartet of researchers, now called the "Gang of Four," who were working separately to structure software at the level between data structures and architecture. Rather than competing and trying to best each other, they came together to develop their ideas using inspiration from how architects design buildings. Their style of collaboration is a model for modern research, both in bringing together the very best and brightest from around the world, and in using inspiration from other fields. This book is considered the finest book on object oriented programming ever written.