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.

Diagrama del patrón Builder

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.

Diagrama del patrón Composite

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.

Diagrama del patrón Strategy

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.

Entradas relacionadas: