Design Patterns
Patrones Creacionales
Singleton
El patrón Singleton asegura que una clase tenga solo una instancia y proporciona un punto de acceso global a ella.
Factory Method
El patrón Factory Method proporciona una interfaz para crear objetos en una superclase, pero permite a las subclases alterar el tipo de objetos que se crean.
Abstract Factory
El patrón Abstract Factory proporciona una interfaz para crear familias de objetos relacionados o dependientes sin especificar sus clases concretas.
Builder
El patrón Builder separa la construcción de un objeto complejo de su representación para que el mismo proceso de construcción pueda crear diferentes representaciones.
Prototype
El patrón Prototype permite copiar objetos existentes sin que el código dependa de sus clases concretas.
Patrones Estructurales
Adapter
El patrón Adapter permite que clases con interfaces incompatibles trabajen juntas mediante una interfaz intermedia.
Bridge
El patrón Bridge desacopla una abstracción de su implementación para que ambos puedan variar independientemente.
Composite
El patrón Composite permite trabajar con jerarquías de objetos "parte-todo" de manera uniforme.
Decorator
El patrón Decorator añade funcionalidad a un objeto de forma dinámica sin alterar su estructura.
Flyweight
El patrón Flyweight minimiza el uso de memoria compartiendo datos entre objetos similares.
Proxy
El patrón Proxy proporciona un objeto sustituto para controlar el acceso a otro objeto.
Patrones de Comportamiento
Chain of Responsibility
El patrón Chain of Responsibility pasa una solicitud a través de una cadena de manejadores hasta que uno la procesa.
Command
El patrón Command encapsula una solicitud como un objeto, permitiendo parametrizar clientes con diferentes solicitudes.
Interpreter
El patrón Interpreter define una representación de gramática para un lenguaje y un intérprete que usa la gramática.
Iterator
El patrón Iterator proporciona una manera de acceder secuencialmente a los elementos de una colección sin exponer su representación interna.
Mediator
El patrón Mediator centraliza la comunicación entre componentes, reduciendo las dependencias entre ellos.
Memento
El patrón Memento guarda y restaura el estado de un objeto sin violar su encapsulación.
Observer
El patrón Observer notifica automáticamente a múltiples objetos sobre cambios en el estado de un sujeto.
State
El patrón State permite que un objeto altere su comportamiento cuando cambia su estado interno.
Strategy
El patrón Strategy define una familia de algoritmos y permite que sean intercambiables.
Template Method
El patrón Template Method define el esqueleto de un algoritmo, dejando que las subclases implementen pasos específicos.
Visitor
El patrón Visitor permite agregar nuevas operaciones a una estructura de objetos sin modificar sus clases.