Patrones de Diseño GOF: clasificación, propósito y ejemplos (Builder, Composite, Strategy)

InformáticaActualizado el 2,7 KB

Resumen

El texto presenta los patrones de diseño del grupo Gang of Four (GOF) y los clasifica en patrones de creación, de estructura y de comportamiento según su propósito. Ilustra cada categoría con un ejemplo: Builder, Composite y Strategy. El estudiante aprenderá a distinguir las tres familias y a entender cómo cada patrón organiza la relación entre clases y objetos.

Puntos clave

  • Los patrones de diseño GOF se clasifican en tres categorías: creación, estructura y comportamiento.
  • Los patrones de creación abstraen el proceso de creación de objetos y pueden ser de clase (herencia) o de objetos (delegación).
  • Builder permite construir objetos complejos paso a paso, separando la construcción de su representación mediante un director y constructores concretos.
  • Composite representa jerarquías de objetos en forma de árbol y permite tratar de manera uniforme objetos individuales y composiciones.
  • Composite reduce la necesidad de sentencias condicionales (CASE) y promueve la cohesión y el bajo acoplamiento.
  • Strategy define una familia de algoritmos intercambiables; el contexto delega la ejecución en la estrategia seleccionada mediante polimorfismo.

Ponte a prueba

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.

Descargar

PDF Word HTML

Preguntas frecuentes

¿Cuáles son las categorías de los patrones de diseño GOF?

Los patrones GOF se clasifican en patrones de creación, de estructura y de comportamiento, según su propósito. Los de creación abstraen el proceso de creación de objetos, los de estructura definen cómo se componen las clases y objetos, y los de comportamiento se centran en la interacción y la abstracción de algoritmos.

¿Para qué sirve el patrón Builder?

Sirve para construir objetos complejos paso a paso, separando la construcción de su representación. Un director coordina el proceso usando una interfaz constructor, y cada constructor concreto crea partes específicas del objeto final.

¿Qué problema resuelve el patrón Composite?

Permite representar jerarquías de objetos en forma de árbol y que los clientes traten de forma uniforme tanto objetos individuales como composiciones. Además, reduce la necesidad de sentencias condicionales (CASE).

¿Cómo funciona el patrón Strategy?

Define una familia de algoritmos encapsulados e intercambiables que implementan una interfaz común. El objeto contexto delega la tarea en la estrategia seleccionada, usando polimorfismo.

Ponte a prueba

Tarjetas de repaso

Pulsa una tarjeta para ver la respuesta.

Test

1. ¿Cuántas categorías principales de patrones de diseño GOF define el texto?
2. ¿Qué patrón permite construir objetos complejos paso a paso?
3. ¿Qué característica tienen los patrones de creación según el texto?
4. ¿Qué ventaja aporta el patrón Composite según el texto?
5. ¿Cómo ejecuta el contexto la tarea en el patrón Strategy?

Preguntas generadas con IA a partir del documento: comprueba las respuestas con el texto.