Patrones de Diseño GOF: clasificación, propósito y ejemplos (Builder, Composite, Strategy)
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.
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.
Descargar
PDF Word HTMLPreguntas 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
Preguntas generadas con IA a partir del documento: comprueba las respuestas con el texto.