Patrones de diseño: descripción y aplicaciones

Clasificado en Magisterio

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

Patrones de diseño: descripción y aplicaciones

PATRONES Es una descripción de objetos y clases comunicándose entre sí, que se personalizan para resolver un problema general del diseño en un contexto particular. La descripción de la solución al problema general se realiza en términos de estructura (clases, interfaces, relaciones) y comportamiento (interacciones entre objetos).

Nombre:

Se utiliza para aumentar el vocabulario del diseñador. Sólo con el nombre, se está haciendo referencia también al problema, la solución y las consecuencias. Esto permite diseñar a un mayor nivel de abstracción.

Problema:

El problema describe cuando aplicar el patrón. Explica el problema y su contexto. El problema puede ser de bajo nivel o de más alto nivel. En ocasiones el problema presenta condiciones que deben ser cumplidas antes de aplicar el patrón. Entender el problema es tan importante como entender la solución, pues una buena solución a un problema incorrecto no sirve de nada.

Solución: Describe los elementos que componen el diseño, sus relaciones, responsabilidades y colaboraciones. Se divide en estructura y comportamiento. La solución no describe un diseño particular y concreto, ya que un patrón es un template que puede ser aplicado en diferentes situaciones (todas comprendidas dentro del problema).

Consecuencias:

Presenta el resultado y los trade-off de aplicar el patrón. Toda solución tiene un “costo”. Dentro de las consecuencias también pueden haber comentarios sobre lenguajes de programación o detalles de implementación, más allá del propio diseño. Se deben tener en cuenta las consecuencias de un patrón al momento de aplicarlo, particularmente si el “costo” de aplicarlo es demasiado alto frente a las ventajas de haberlo aplicado.

Patrones de Creación: les concierne el proceso de creación de objetos.Patrones de Estructura: les concierne la composición de clases y objetos. Patrones de Comportamiento: les concierne la distribución de responsabilidades y detallan de qué forma interactuarán clases y objetos.

Patrones que aplican principalmente a Clases:

se centran en las relaciones entre clases y subclases, típicamente mediante herencia, por lo que son relaciones fijas (se fijan en tiempo de diseño).

Patrones que aplican principalmente a Objetos:

se centran en las relaciones entre objetos, las cuales pueden cambiar dinámicamente (en tiempo de ejecución).

Entradas relacionadas: