Los 19 Patrones de Diseño de GOF podemos clasificar en tres grandes grupos:
Patrones de creación. Estos patrones se utilizan cuando debemos crear objetos pero debemos tomar decisiones dinámicamente en el proceso de creación. Para ésto lo que hacemos es abstraer el proceso de creación de los objetos para realizar la decisión de qué objetos crear o cómo crearlos para el momento en que se tenga que hacer.
- Abstract Factory
- Builder
- Factory Method
- Object Pool
- Prototype
- Singleton
Patrones estructurales. Nos describen como utilizar estructuras de datos complejas a partir de elementos más simples. Sirven para crear las interconexiones entre los distintos objetos y que estas relaciones no se vean afectadas por cambios en los requisitos del programa.
- Adapter
- Bridge
- Decorator
- Facade
- Flyweight
- Proxy.
Patrones de comportamiento. Fundamentalmente especifican el comportamiento entre objetos de nuestro programa.
- Chain of Responsability
- Command
- Interpreter
- Iterator
- Mediator
- Memento (o Snapshot)
- Observer
- State
- Strategy
- Template Method
- Visitor.
###Resumen de los patrones