GoF design patterns
A software design pattern is a general reusable solution to a commonly occurring problem within a given context in software design. It is not a finished design that can be transformed directly into the source or machine code. It is a description or a template for how to solve a problem that can be used in many different situations. Design patterns are formalized best practices that the programmer can use in order to solve common problems when designing an application or a system.
What are software design patterns?
Design patterns were formally introduced in the book Design Patterns: Elements of Reusable Object-Oriented Software, first published in 1994 by the four authors Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, with a foreword by Grady Booch. These authors are usually referred to as the Gang of Four. The book contains the most popular 23 design patterns; hence, the 23 patterns are known as GoF design patterns. These design patterns are fundamentally...