Por supuesto, puede considerarlo como un tipo de estrategia, pero eso se aplica a casi todos los patrones de diseño. ¿Entonces por qué?¿Por qué el patrón de estrategia se llama patrón de estrategia?
Respuesta
Porque algunos de los componentes implementan estrategias, "formas de lograr algo".
El objetivo del patrón de estrategia es permitirle elegir una forma de hacer algo, una "estrategia", en tiempo de ejecución.
El nombre no se refiere al patrón como un todo, se refiere a los objetos dentro del patrón que realizan acciones.
La idea detrás del patrón de estrategia es que "los algoritmos se pueden seleccionar en tiempo de ejecución". (Wikipedia, Strategy Pattern) El patrón, en esencia, es seleccionar la estrategia (o el comportamiento) correcta para resolver un problema en particular en el tiempo de ejecución. Por lo tanto, es su nombre.
Se siente como una definición más apropiada que la proporcionada por @RichieHindle. – jldupont
Es cierto que todos los patrones son "estrategias" para el diseño de aplicaciones. Sin embargo, el patrón de Estrategia requiere una lógica, algoritmos, etc. complicados y lo encapsula. Lo cual limpia su código y también permite que se usen diferentes estrategias basadas en diferentes condiciones.
Ej. Escribí un complicado cálculo de intereses para Colateral y en lugar de tener el cálculo dentro de la clase Colateral lo moví a una clase InterestCalcuation (estrategia). Luego, cuando empezaron a decirme que el cálculo tenía que ser diferente, porque InterestCalculation se adhirió a la interfaz IInterestCalculation, pude cambiar y crear nuevos cálculos tanto como lo necesitaba y la clase Colateral no se vio afectada ...
- 1. Patrón de estrategia parametrizado
- 2. Patrón de estrategia en Symfony2
- 3. ¿Debería el patrón de estrategia ser apátrida?
- 4. ¿Patrón de estrategia sin declaraciones de "cambio"?
- 5. C# Patrón de diseño de estrategia por delegado vs OOP
- 6. ¿Cuándo y por qué se debe usar el Patrón de estrategia?
- 7. Evitando el acoplamiento con el patrón de estrategia
- 8. Emailer en Java con el Patrón de estrategia
- 9. Variando los parámetros en el patrón de estrategia
- 10. ¿Cómo usar el patrón de estrategia con C#?
- 11. Modificar if-else para el patrón de estrategia
- 12. Diferencia entre el patrón de estrategia y el patrón de delegación
- 13. Patrón de estrategia y explosión de clases de "acción"
- 14. Patrón de estrategia frente a inyección de dependencia
- 15. Patrón de estrategia e inyección de dependencia usando Unity
- 16. Patrón de diseño de estrategia con contenedores IOC - Ninject específicamente
- 17. Uso de un patrón de estrategia y un patrón de comando
- 18. ¿Mejor alternativa al patrón de estrategia en Scala?
- 19. ¿Cómo crear un patrón de estrategia en Objective-C?
- 20. Patrón de estrategia con diferentes parámetros en la interfaz (C#)
- 21. ¿Cuál es la diferencia entre el patrón de diseño de estrategia y el patrón de fábrica abstracto?
- 22. ¿Cómo se llama este patrón?
- 23. Patrón de estrategia compuesta - java - ¿Qué tan malo es este código?
- 24. ¿Dónde está el beneficio en el uso del Patrón de estrategia?
- 25. ¿Cuál es la diferencia entre el patrón de estrategia y la inyección de dependencia?
- 26. estrategia de eliminación REST
- 27. Estrategia de ubicación de inicio
- 28. ¿Por qué utilizar el patrón de visitante?
- 29. ¿Cómo se llama este "patrón" funcional?
- 30. ¿Cuál es la definición exacta del patrón de diseño de la estrategia?
Suena más como un "táctica" en este punto, ¿no? ¿No implicaría una "estrategia" un paradigma tipo "plan maestro" más grande? – jldupont
@jldupont: ¡No me culpes, no lo llamé! :-) – RichieHindle
Sí, pero muchos de ellos lo hacen, fábrica, por ejemplo ... – Peter