One of the most relevant books in software engineering was Design Patterns: Elements of Reusable Object-Oriented Software, 1994, written by the Gang of Four (GOF): Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. This book presented about two dozen different OOP patterns and has been recognized as a highly important book in computer science.
Patterns are actually a concept from architectural design, originally defined by an architect, Christopher Alexander.
In software terms, a design pattern is a generally applicable, reusable solution to a commonly-seen problem in software design. Rather than a specific finished and coded design, it's a description of a solution (the word template is also used) that can solve a given problem that appears in many contexts. Given their advantages, design patterns are on their...