Presentación correspondiente patrones de diseño, en este caso dirigida al patrón estrategia. Un patrón que puede ser útil para resolver algunos de los problemas que se encuentran en la programación elegante y de calidad.
3. Problema
Tengo un método que a veces quiero que
actúe de una forma y otras de otra.
Dicho de otra forma quiero que el código de un
método cambie mientras se esta ejecutando un
programa.
A A B
4. Solución
Obviamente existen muchas soluciones, una
sería hacer dos métodos uno para cada
codigo, pero y...
¿Si queremos 10 formas distintas para ese
método?
Debemos hacer 10 metodos y luego un método
en el cual podamos tomar la decisión de qué
método elegir a través de un switch o "if".
5. Solución
¿Existe solución elegante al problema?
Hay un patrón de diseño que se adapta
perfectamente a este problema, para este caso
tenemos como ya intuirás, el patrón estrategia.
7. Descripción del esquema
En el esquema apreciamos:
1. Una interfaz para las estrategias
2. En este caso dos estrategias que
implementan la interfaz
3. Y un cliente que puede elegir entre dos
estrategias
8. Conclusión
Si queremos cambiar el código de un método
en tiempo de ejecución de una forma elegante,
podemos recurrir al patrón estrategia.
Si quieres ver un ejemplo y el patrón en más
detalle visita:
Patrón estrategia