Patrones para aplicar detalles

Este ejemplo es un conjunto de 8 patrones. Muchos de estos patrones tienen un nombre y una funciones similares a los patrones aceptados en el sector.* Otros patrones de mayor granularidad, denominados micropatrones, utilizan algunos de estos patrones.

Patrón de implementación

(Dos parámetros, una dependencia de parámetros, un micropatrón)

El patrón de implementación es un patrón primitivo e independiente que no aprovecha ningún patrón en su implementación. Es un patrón muy sencillo que garantiza la presencia de una relación de implementación UML de un argumento de implementación a un argumento de interfaz.

Patrón de interfaz

(Dos parámetros, una dependencia de parámetros, reutiliza un patrón)

El patrón de interfaz, un patrón que reutilizan algunos de los demás patrones de ejemplo, también reutiliza un patrón en su implementación. El patrón de implementación es un patrón muy primitivo (al que también se denomina micropatrón) y lo utiliza el patrón de interfaz para garantizar que el argumento de interfaz implementa los argumentos de interfaz. El patrón de interfaz tiene dos parámetros, uno para representar la interfaz y otro para representar la implementación. Incluye un ejemplo de correlación de delegados básica mediante usos de definición de patrones y delegados de dependencias de patrones. Se trata, sin embargo, de un patrón de funcionamiento muy básico que también se menciona en otras partes de la documentación de los patrones. Este patrón también presenta la combinación del uso tanto de delegados de patrones como de código personalizado a fin de implementar los métodos de actualización de dependencias de un patrón. El patrón de implementación se reutiliza para garantizar la relación de implementación y, a continuación, se utiliza el código del método de actualización personalizada para asegurar que la implementación implementa todas las operaciones definidas en los argumentos de la interfaz.

Patrón de lista de palabras clave

(Dos parámetros, una dependencia de parámetros, un micropatrón)

El patrón de lista de palabras clave es un patrón primitivo e independiente que no aprovecha ningún patrón en su implementación. También muestra la utilización de una cadena de caracteres de literal UML como un tipo de parámetro y la utilización de un metatipo UML abstracto como un tipo de parámetro. Este patrón también incluye las funciones necesarias para garantizar correctamente la desvinculación de la semántica del patrón como argumentos y la no aplicación de las instancias del patrón. Se pueden crear instancias del patrón de lista de palabras clave en la vista Explorador de patrones, pero es más adecuado que lo reutilicen otros patrones a través del mecanismo de delegado de patrones.

Patrón de asociación dirigida

(Seis parámetros, cinco dependencias de parámetros, un micropatrón)

El patrón de asociación dirigida es otro patrón primitivo independiente, un micropatrón que utilizan otros patrones de mayor granularidad. El patrón de asociación dirigida tiene dos parámetros primarios que establecen el contexto para una asociación dirigida. Tiene otros cinco parámetros periféricos que ayudan a dar forma a la asociación al configurar el tipo de asociación, los nombres de los roles y las multiplicidades. El patrón de delegación de ejemplo reutiliza este patrón, y es un ejemplo de un patrón que incluye varios tipos de parámetros menos comunes. En la definición de este patrón se utilizan cadenas de caracteres de literales, enteros y enumeraciones de patrones. El código del patrón que se incluye en este ejemplo para manejar los literales y las enumeraciones es de incalculable valor para los autores de los patrones durante el aprendizaje de autoría de patrones que tienen tipos de parámetros similares.

Patrón de delegación

(Dos parámetros, una dependencia de parámetros, reutiliza tres patrones)

El patrón de delegación tiene dos parámetros: un parámetro que representa al delegador y otro parámetro que representa al delegado del patrón de delegación. El delegador delega operaciones definidas en la interfaz del delegado que ha implementado el delegador en una instancia del tipo de delegado. Este patrón muestra la utilización de filtros de correlación de delegados para personalizar el nombre de las palabras clave vinculadas a las instancias de reutilización de patrones de la lista de palabras clave. Esta personalización del nombre no se necesita para proporcionar una implementación útil del patrón de delegación, pero se ha añadido a este ejemplo a fin de mostrar la utilización de filtros de correlación de delegados.

Patrón de estrategia

(Tres parámetros, dos dependencias de parámetros, reutiliza dos patrones)

El patrón de estrategia se basa en el patrón de estrategia conocido comúnmente. Reutiliza los patrones de ejemplo de interfaz y de lista de palabras clave y contiene un ejemplo de correlación de delegados de parámetros. Tiene tres parámetros: uno representa la interfaz de estrategia, otro representa la estrategia concreta y el tercero representa el contexto de la estrategia en sí misma. Para mostrar la reutilización del patrón de lista de palabras clave, el patrón garantiza que la palabra clave <<Strategy>> esté presente en el argumento del parámetro de la interfaz de estrategia. El patrón de interfaz se reutiliza para garantizar que los argumentos vinculados del parámetro de la estrategia concreta implementen la interfaz de estrategia.

Parámetro de instancia única

(Cero parámetros)

El patrón de instancia única se basa en el patrón de instancia única conocido comúnmente. Es un ejemplo de un patrón que no tiene ningún parámetro. Tiene un parámetro implícito, que se puede considerar como la instancia del patrón en sí misma. Este patrón representa las instancias del patrón como clases, en lugar de la representación habitual típica, como colaboraciones. Una utilización funcional de este patrón es arrastrarlo de la vista Explorador de patrones a una clase de que la debe asegurarse que es una instancia única. El resultado de arrastrar este patrón por la superficie del diagrama (en un paquete) es una nueva instancia única y, por consiguiente, la creación de una nueva clase para representar la instancia.

Patrón de fábrica abstracta

(Cinco parámetros, cinco dependencias de parámetros, reutiliza un patrón)

El patrón de fábrica abstracta se basa en el patrón de fábrica abstracta conocido comúnmente. Reutiliza el patrón de interfaz y, por consiguiente, muestra delegados de dependencias durante el comportamiento de delegación al patrón de interfaz. Es una implementación degradada del patrón de fábrica abstracta, puesto que todos los productos concretos implementan todas las interfaces de productos abstractos que están vinculados. Ejemplifica la utilización de dependencias de parámetros a fin garantizar que el mantenimiento de la semántica del patrón se vincula como argumentos adicionales al patrón. Tal como el patrón de instancia única emplea algo distinto a las colaboraciones para representar instancias de patrón, este patrón utiliza paquetes. Las instancias de este patrón son paquetes.

* Patrones de diseño: Elementos de software orientado a objetos reutilizables, , Gamma, Helm, Johnson y Vlissides (Addison-Wesley, 1995) copyright (c) 1995 por Addison-Wesley Publishing Company, Inc. Todos los derechos reservados.


(C) Copyright IBM Corporation 2004, 2005. Todos los derechos reservados.