Strategy
Última actualización
¿Te fue útil?
Última actualización
¿Te fue útil?
Según el libro "Patrones de Diseño" el patrón Strategy "define una familia de algoritmos, encapsula cada uno de ellos y los hace intercambiables. Permite que un algoritmo varíe independientemente de los clientes que lo usan".
Policy
Estrategia:
declara la interfaz común a todos los algoritmos permitidos. El Contexto usa esta interfaz para llamar al algoritmo definido por una EstrategiaConcreta.
EstrategiaConcreta:
implementa el algoritmo usando la interfaz Estrategia.
Contexto:
se configura con una variable EstrategiaConcreta.
mantiene una referencia a una variable Estrategia.
puede definir una interfaz que permita a la Estrategia acceder a sus datos.
No se observan impedimentos y/o modificaciones de la estructura original del patrón para su implementación en Go.
En este ejemplo queremos definir tres estrategias concretas que pueden realizar distintas operaciones matemáticas. Cuando se crea el contexto se establece que estrategia deberá utilizar.
Implementación:
Se puede probar la implementación del patrón de la siguiente forma:
|
Atención: Esta publicación se encuentra abandonada. Puede acceder a la versión vigente en