Design patterns gained popularity in computer science after the book Design Patterns: Elements of Reusable Object-Oriented Software was published in 1994 by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides; and together they are called the "Gang of Four" or "GoF".
The GOF design patterns can be broadly classified into the following three categories:
These are patterns related to object creation.
There are 5 creational patterns mentioned in the GoF book: Factory method, Abstract Factory, Builder, Prototype and Singleton.
These are related to organizing classes and objects to form a bigger structure, to provide clarity and increase maintainability.
There are 7 structural design patterns mentioned in the GoF book: Adapter, Bridge, Proxy, Decorator, Composite, Facade and Flyweight.
These are related to the communication and control the flow between the objects.
There are 11 behavioral design patterns mentioned in the GoF book: Chain of Responsibility, Observer, Strategy, Template, State, Visitor, Iterator, Command, Interpreter, Mediator and Memento.
This note is currently being updated.