Fundamentos de Patrones de Diseño: Conceptos Clave y Aplicación

Clasificado en Otras materias

Escrito el en español con un tamaño de 2,51 KB

¿Qué características de los patrones de diseño facilitan su reutilización?

La solución descrita en los patrones de diseño es una solución general que debe ser especificada para poder ser aplicada. Esto permite adaptarla a muchas situaciones concretas, favoreciendo así su reutilización.

¿Por qué se le da tanta importancia al nombre en los patrones de diseño?

El nombre de los patrones de diseño tiene como fin la identificación unívoca y general del mismo, con el objetivo de crear un vocabulario común que evite tener que describir continuamente la idea técnica detrás de dicho patrón.

Diferencia entre GRASP y GoF

Los principios GRASP no implementan soluciones directas, sino que nos invitan a reflexionar sobre el diseño a nivel de principios generales (principios de Diseño Orientado a Objetos). Por otro lado, los patrones GoF (Gang of Four) proporcionan una solución implementable, incluyendo su propio diagrama de clases que ilustra la forma específica en que deben ser utilizados.

¿Cómo se mide la cohesión?

La cohesión es una medida de la fuerza con la que se relacionan y el grado de focalización de las responsabilidades de un elemento. Un elemento con baja cohesión es aquel que tiene demasiadas responsabilidades dispersas.

¿Cómo se puede cambiar el objeto al que se decora en tiempo de ejecución?

Para modificar el objeto al que se decora en tiempo de ejecución, es necesario sustituir dicho objeto mediante una llamada al constructor del decorador concreto.

¿Cuáles son los principios más importantes a tener en cuenta?

  • Bajo acoplamiento.
  • Alta cohesión.

Implementación de métodos plantilla y el uso de subclases

Una clase que contenga un método plantilla con muchos métodos abstractos obliga a las subclases a realizar gran parte de la implementación del algoritmo. ¿Es esto deseable?

¿Es deseable?

No es deseable, ya que esto suele ser un síntoma de un mal diseño.

¿En qué situaciones ocurre y cómo evitarlo?

Dependerá de la situación y del control que se le quiera dar al usuario. En estos casos, es recomendable utilizar el patrón Estrategia, el cual permite que el cliente cambie todo el algoritmo en lugar de modificar solo una parte, mejorando la flexibilidad y el mantenimiento del código.

Entradas relacionadas: