Patrones de Diseño GOF: Clasificación, Propósito y Ejemplos
Clasificado en Informática
Escrito el en español con un tamaño de 2,7 KB
Categorización y Propósito de los Patrones de Diseño GOF
Los patrones de diseño, definidos por el grupo Gang of Four (GOF), se clasifican en tres categorías principales según su propósito:
Patrones de Creación
Propósito: Abstraen el proceso de creación de objetos, permitiendo flexibilidad y reutilización. Se dividen en patrones de clase (herencia) y de objetos (delegación).
Ejemplo: Builder
Este patrón de creación de objetos permite construir objetos complejos paso a paso, separando la construcción de su representación. Es un patrón de objetos que utiliza interfaces y delegación. Un director coordina el proceso de creación utilizando una interfaz constructor, que define la estructura de los constructores concretos. Cada constructor concreto es responsable de crear partes específicas del objeto final. Este patrón se alinea con el principio de diseñar hacia la interfaz y no hacia la implementación.
Patrones de Estructura
Propósito: Definen cómo las clases y objetos se componen para formar estructuras más grandes y complejas.
Ejemplo: Composite
Este patrón se utiliza para representar jerarquías de objetos (estructuras de árbol), donde los clientes pueden tratar de manera uniforme tanto a objetos individuales como a composiciones de objetos. El patrón Composite reduce la complejidad al eliminar la necesidad de sentencias condicionales (CASE), promoviendo la cohesión y el bajo acoplamiento.
Patrones de Comportamiento
Propósito: Se centran en la interacción y comunicación entre objetos, así como en la abstracción de algoritmos.
Ejemplo: Strategy
Este patrón permite definir una familia de algoritmos, encapsular cada uno de ellos y hacerlos intercambiables. Un objeto contexto (como un gestor) puede utilizar diferentes estrategias para realizar una tarea. Las estrategias implementan una interfaz común, y el contexto delega la ejecución a la estrategia seleccionada, utilizando polimorfismo.
En resumen, el contexto (que podría ser un gestor) puede utilizar cualquiera de las estrategias disponibles para resolver un problema o implementar una función. A través de métodos polimórficos, las estrategias implementan los métodos definidos en la interfaz de manera específica. De esta forma, el gestor delega la tarea a las estrategias.