- GoF is short for Gang-of-Four patterns. These are 23 patterns that are grouped into creational, structural, and behavioral design patterns. They are considered the foundation of all software design patterns. They work together to produce clean object-oriented code.
- Creational patterns enable abstraction and inheritance to provide an object-oriented way of removing code duplication and improving performance when object creation is expensive. The creational patterns are abstract factory, factory method, singleton, prototype, and builder.
- Structural patterns enable the correct management of relationships between objects. We can use structural patterns to enable incompatible interfaces to work together, decouple abstractions from their implementations, and improve performance. The structural patterns are adapter, bridge, composite, decorator, façade, flyweight, and proxy.
- Behavioral patterns govern how objects...