Introduccion:
Permite que un objeto modifique su comportamiento cada vez que cambia su estado interno. Parecera que cambia la clase del objeto.
Nombre del Patron:
State (Estado, Objects for States).
Clasificacion del patron:
Patron de Comportamiento.
Intencion:
Cambiar facilmente el comportamiento de un objeto en tiempo de ejecucion.
Motivacion:
Cambiar el comportamiento dependiendo del estado.
Cuando queremos que un objeto cambie su comportamiento, según cambia su estado, se presenta el problema de la complejidad de código.
Estructura:
Participantes:
Context: Define la Interfaz y mantiene una instancia con el estado actual.
State: Define una interfaz para el comportamiento asociado a un determinado estado del Contexto.
ConcreteState: Cada subclase implementa el comportamiento asociado con un estado del contexto.
Consecuencias:
Localiza el comportamiento dependiente del estado y divide dicho comportamiento en diferentes estados.
Hace explícitas las transiciones entre estados.
Los objetos Estado pueden compartirse.
Permite que un objeto modifique su comportamiento cada vez que cambia su estado interno. Parecera que cambia la clase del objeto.
Nombre del Patron:
State (Estado, Objects for States).
Clasificacion del patron:
Patron de Comportamiento.
Intencion:
Cambiar facilmente el comportamiento de un objeto en tiempo de ejecucion.
Motivacion:
Cambiar el comportamiento dependiendo del estado.
Cuando queremos que un objeto cambie su comportamiento, según cambia su estado, se presenta el problema de la complejidad de código.
Estructura:
Participantes:
Context: Define la Interfaz y mantiene una instancia con el estado actual.
State: Define una interfaz para el comportamiento asociado a un determinado estado del Contexto.
ConcreteState: Cada subclase implementa el comportamiento asociado con un estado del contexto.
Consecuencias:
Localiza el comportamiento dependiente del estado y divide dicho comportamiento en diferentes estados.
Hace explícitas las transiciones entre estados.
Los objetos Estado pueden compartirse.
No hay comentarios:
Publicar un comentario