Propósitos
Permitir alterar el comportamiento de un objeto en función del cambio de su
estado interno.
Proveer una máquina de estados orientada a objetos.
Problema
Cuando el comportamiento de un objeto monolítico se encuentra en función de su estado y debe cambiar su comportamiento en tiempo de ejecución en dependencia
del estado. Otro escenario se da cuando una aplicación está caracterizada por
largas y numerosas sentencias condicionales que forman parte de un flujo de
control que a su vez se encuentra basado en los estados de la aplicación.
Se usa cuando
El comportamiento de un objeto está influenciado por sus estados.
Condiciones complejas atan el comportamiento del objeto a sus estados.
Las transiciones de los estados de un objeto necesitan ser explícitas.
Ejemplos
Aplicaciones de reproductores de música.
Envío de emails.
Personaje de video juegos.
Servlet.
No hay comentarios:
Publicar un comentario