Strategy Pattern
El patrón strategy encapsula algoritmos como objetos estrategia independientes, cambiando de algoritmo en tiempo de ejecución mediante una interfaz y evitando ramas condicionales.
Propósito
Hacer intercambiables las familias de algoritmos, desacoplando a los clientes de las implementaciones.
Mecanismo
Se define una interfaz estrategia que cada algoritmo implementa. El contexto guarda una referencia a la estrategia y le delega. Cambiar el objeto estrategia en ejecución cambia el comportamiento. Se combina con el patrón factory para crear instancias de estrategia.
Casos de uso
- Cambio de algoritmo
- Eliminación de condicionales
- Estrategias de pago u ordenación