PATRONES DE COMPORTAMIENTO STRATEGY, DEFINICIÓN DE ALTO NIVEL A DIFERENCIA DEL STATE
Enviado por jean pierre saldarriaga • 2 de Marzo de 2018 • Ensayo • 808 Palabras (4 Páginas) • 80 Visitas
[pic 1]
UNIVERSIDAD TÉCNICA DE MANABÍ
TEMA:
PATRONES DE COMPORTAMIENTO STRATEGY, DEFINICIÓN DE ALTO NIVEL A DIFERENCIA DEL STATE
AUTOR:
JEAN PIERRE SALDARRIAGA DELGADO
MATERIA:
ARQUITECTURA DEL SOFTWARE “A”
FECHA DE PUBLICACIÓN:
05 DE DICIEMBRE DE 2017
Introducción
Antes de empezar a hablar de estos 2 patrones o algoritmos de un patrón en específico (patrón de comportamiento) debemos conocer a la cabeza de todos estos, siendo estos los patrones diseño.
Los patrones de diseño por así llamarlo son el esqueleto de las soluciones a problemas comunes en el desarrollo de software.
En otras palabras, brindan una solución ya probada y documentada a problemas de desarrollo de software que están sujetos a contextos similares. Debemos tener presente los siguientes elementos de un patrón: su nombre, el problema, la solución y las consecuencias.
Ya conociendo un poco sobre estos ahora hablaremos de su subclase “los patrones de diseño de comportamiento” que explicado brevemente se dicen que son aquellos que están relacionados con algoritmos y con la asignación de responsabilidades a los objetos. Describen no solamente patrones de objetos o de clases, sino que también engloban patrones de comunicación entre ellos.
Una vez ya teniendo una breve introducción sobre estos dos podemos seguir con nuestro tema principal que son los algoritmos state y strategy.
Desarrollo
El State y el Strategy da mucho de qué hablar ya que ambos comparten un mismo diagrama de clase pero su principal diferencia es que la estrategia se utiliza cuando todo el algoritmo se cambia a otro algoritmo y el cliente es responsable, mientras que, en el estado la clase misma gestiona la estrategia basada en el estado.
Una estrategia es un algoritmo, las estrategias a menudo tienen variables internas que registran el estado del algoritmo, al final del algoritmo, las variables podrían grabar el resultado, pero en general sólo son significativos durante la ejecución del algoritmo.
Por el contrario, un estado por lo general no tiene variables. "Estado no tiene un estado" (RalphJohnson).
“Tal vez esto no es suficiente razón para distinguir entre los dos patrones. Pero encuentro suficientes usos de Estado pura y estrategia que no me importa esos momentos en los que el diseño termina por medio de uno y medio al otro.” (– RalphJohnson,2005)
Ejemplo de State y Strategy
Se Imagina un horno microondas (con teclas). El comportamiento de la tecla de encendido depende de que antes hayas pulsado ya un tiempo y una temperatura. Si estás en el estado inicial, pulsar encendido no hará nada. Si estás en el estado de ya haber introducido tiempo y potencia, entonces el mismo botón encenderá el horno. El comportamiento del teclado depende de su estado.
...