lunes, 8 de julio de 2013

8.1.6 Estrategia (Strategy)


En cualquier programa es habitual disponer de un conjunto de algoritmos que comparten alguna propiedad, como que pueden ejecutarse indistintamente sobre unos datos de entrada o que sean de determinado tipo. Ejemplos de tales familias serían las funciones matemáticas (seno, coseno, raíz...) o los filtros gráficos de un programa de dibujo. El patrón Estrategia permite organizar dichas familias de algoritmos, de manera que compartan una interfaz para que luego los clientes de dichas clases puedan utilizarlos indistintamente.

Los objetos de la clase de contexto que acceden a la familia de algoritmos los hacen de forma abstracta, sin importarles el algoritmo específico que se está utilizando.

Un ejemplo de uso del patrón Estrategia puede ser la implementación de los diferentes algoritmos de ordenación de una lista de números Gracias al patrón Estrategia el usuario del contexto puede modificar su criterio de ordenación de forma dinámica.





Un usuario puede utilizar cualquiera de los algoritmos que cumplan la interfaz de ordenación a través del objeto Contexto.

No hay comentarios.:

Publicar un comentario