Where did design patterns come from? Many attribute the origin of design patterns in computer science to the book, “Elements of Reusable Object-Oriented Software”.This book was published in 1994. The book had four authors, and these authors are most commonly referred to as the Gang of Four. The Gang of Four found inspiration in an earlier book called, “A Pattern Language”. In this book, the idea of design patterns applies to construction and civic engineering. The first chapter of Elements of Reusable Object-Oriented Software, defines design patterns using the words of Christopher Alexander, the author of “A Pattern Language”.
Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice. Even though Christopher Alexander was referring to civic engineering, software engineering can alsodefine patterns to describe solutions to problems that can be used a million times over. The Gang of Four provided a clear definition of software design patterns, and outlined their required parts. Each pattern must have a name. The name describes the problem, and the solution, in only a couple of words.