Strategy - mayueliza92/PatronesPHP GitHub Wiki

NIVEL DE APLICACIÓN: Objeto DEFINICION: Es un patrón de diseño de comportamiento que te permite definir una familia de algoritmos, colocar cada uno de ellos en una clase separada y hacer sus objetos intercambiables. DONDE UTILIZARLO: Utiliza el patrón Strategy cuando quieras utiliza distintas variantes de un algoritmo dentro de un objeto y poder cambiar de un algoritmo a otro durante el tiempo de ejecución. Utiliza el patrón Strategy cuando tengas muchas clases similares que sólo se diferencien en la forma en que ejecutan cierto comportamiento. BENEFICIOS: - Puedes intercambiar algoritmos usados dentro de un objeto durante el tiempo de ejecución. Puedes aislar los detalles de implementación de un algoritmo del código que lo utiliza. INCONVENIENTES Si sólo tienes un par de algoritmos que raramente cambian, no hay una razón real para complicar el programa en exceso con nuevas clases e interfaces que vengan con el patrón. Los clientes deben conocer las diferencias entre estrategias para poder seleccionar la adecuada. MODELADO