Detalles de patrones a aplicar

El ejemplo de patrones a aplicar es un conjunto de 8 patrones. Muchos de estos patrones son parecidos en nombre y función a patrones aceptados por la industria.* Algunos de estos patrones los utilizan otros patrones de mayor granularidad y se conocen como micropatrones.

Patrón de fábrica abstracta

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

El patrón de fábrica abstracta está basado en el patrón de fábrica abstracta normalmente conocido. Reutiliza el patrón de interfaz y, por lo tanto, muestra delegados de dependencia en el proceso de delegar el comportamiento al patrón de interfaz. Es una implementación degenerada del patrón de fábrica abstracta en cuanto a que todos los productos concretos implementan todas las interfaces de producto abstractas enlazadas. Ejemplifica la utilización de dependencias de parámetro para mantener la semántica de un patrón asegurada al enlazar argumentos adicionales al patrón. Al igual que el patrón monoinstancia emplea algo más que aportaciones para representar instancias de patrón, este patrón utiliza paquetes. Las instancias de este patrón son paquetes.

Patrón de delegación

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

El patrón de delegación tiene dos parámetros: un parámetro que representa el delegador y un parámetro que representa el delegado en el patrón de delegación. El delegador delega operaciones definidas en la interfaz delegada e implementadas por el delegador para una instancia del tipo delegado. Este patrón muestra la utilización de los filtros de correlación delegados para personalizar el nombre de las palabras clave enlazadas a las instancias de reutilización de patrones de listas de palabras clave. Esta personalización del nombre no es necesaria para proporcionar una implementación útil del patrón de delegación pero se ha añadido a este ejemplo para mostrar la utilización de filtros de correlación delegados.

Patrón de asociación dirigida

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

El patrón de asociación dirigido es otro patrón primitivo autocontenido, un micropatrón utilizado por otros patrones de mayor granularidad. El patrón de asociación dirigida tiene dos parámetros primarios que establecen el contexto de una asociación dirigida. Tiene otros cinco parámetros periféricos que le ayudan a dar forma a la asociación configurando el tipo de asociación, los nombres de rol y las multiplicidades. Este patrón lo reutiliza el patrón de delegación del ejemplo y es un ejemplo de un patrón que incluye muchos tipos de parámetros menos comunes. En la definición de este patrón se utilizan series literales, los enteros y las enumeraciones de patrones. El código del patrón que se encuentra en este ejemplo para manejar estos literales y numeraciones es inestimable para los autores de patrones cuando están aprendiendo a crear patrones que tienen tipos de parámetros similares.

Patrón de implementación

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

El patrón de implementación es un patrón primitivo que está autocontenido y que no potencia más patrones en su implementación. Es un patrón muy simple que asegura que hay 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ámetro, reutiliza un patrón)

El patrón de interfaz, un patrón que reutilizan otros pocos patrones de ejemplo, reutiliza también un patrón en su implementación. El patrón de implementación es un patrón muy primitivo (también se le llama micropatrón) y lo utiliza el patrón de interfaz para asegurarse de que el argumento de implementación implementa los argumentos de la interfaz. El patrón de la interfaz tiene dos parámetros, uno para representar la interfaz y otro para representar la implementación. Incluye un ejemplo de correlación delegada básica con utilizaciones de definición de patrones y delegados de dependencias de patrón. Se trata de un patrón muy básico pero funcional que también se menciona en otras partes de la documentación de patrones. Este patrón también muestra la combinación de la utilización de delegados de patrones y de código personalizado para implementar los métodos de actualización de dependencias de un patrón. El patrón de implementación se reutiliza para asegurar la relación de implementación y después el código de método de actualización personalizado se utiliza para asegurar que la implementación implemente todas las operaciones definidas en los argumentos de interfaz.

Patrón de lista de palabras clave

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

El patrón de lista de palabras clave es un patrón primitivo autocontenido y que no potencia otros patrones en su implementación. También muestra la utilización de una serie literal UML como tipo de parámetro y la utilización de un metatipo UML abstracto como tipo de parámetro. Este patrón también incluye funcionalidad para asegurar correctamente la semántica del patrón, ya que los argumentos no se enlazan y las instancias de patrón no se aplican. Por derecho, se puede crear una instancia del patrón de lista de palabras clave en la vista Explorador de patrones pero a través del mecanismo de delegado de patrones resulta más adecuado para que lo reutilicen otros patrones.

Patrón monoinstancia

(Cero parámetros)

El patrón monoinstancia está basado en el patrón monoinstancia normalmente conocido. Es un ejemplo de un patrón sin parámetros. Tiene un parámetro implícito, lo que puede tomarse como el patrón de instancia mismo. Este patrón representa sus instancias de patrón como clases en lugar de la representación típica más usual como aportaciones. Una utilización funcional de este patrón consiste en arrastrarlo desde la vista Explorador de patrones a una clase de la que necesite saber que es una monoinstancia. Al arrastrar este patrón a la superficie el diagrama (en un paquete) se genera una monoinstancia nueva y, por lo tanto, se crea una clase nueva para representar esta instancia.

Patrón de estrategia

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

El patrón de estrategia está basado en el patrón de estrategia normalmente conocido. Reutiliza los patrones de lista de palabras clave e interfaz y contiene un ejemplo de correlación delegada de parámetro. Tiene tres parámetros, uno para representar la interfaz de estrategia, otro para representar la estrategia concreta y uno para representar el contexto de la estrategia misma. Para mostrar la utilización del patrón de lista de palabras clave, el patrón asegura que la palabra clave <<Strategy>> está presente en el argumento del parámetro de interfaz de estrategia. El patrón de interfaz se reutiliza para asegurar que la interfaz de la estrategia la implementan los argumentos enlazados del parámetro de estrategia concreto.

* Design Patterns: Elements of Reusable Object-Oriented Software, Gamma, Helm, Johnson and Vlissides (Addison-Wesley, 1995) copyright (c) 1995 by Addison-Wesley Publishing Company, Inc. Reservados todos los derechos.


Comentarios