La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

PATRON DE SOFTWARE: COMMAND

Presentaciones similares


Presentación del tema: "PATRON DE SOFTWARE: COMMAND"— Transcripción de la presentación:

1 PATRON DE SOFTWARE: COMMAND
Pontificia Universidad Javeriana Ingeniería de Software José Luis Uribe Aponte

2 PATRON DE SOFTWARE:COMMAND
AGENDA Definición,Intención y Motivación. Aplicabilidad y Estructura Consecuencias Ejemplo Bibliografía PATRON DE SOFTWARE: COMMAND

3 Definición,Intención y Motivación.
En ocasiones es deseable enviar solicitudes a objetos sin conocer exactamente la operación solicitada ni del receptor de la solicitud. Por ejemplo, un objeto botón o menú ejecuta solicitudes pero la solicitud no está implementada dentro del mismo. PATRON DE SOFTWARE: COMMAND

4 Definición,Intención y Motivación (Cont)
La idea principal es tener una interfaz abstracta de manejo de operaciones sobre cierto receptor, permitiendo a un cliente desarrollar las operaciones sin tener que conocer exactamente el tipo y adicionalmente tener la capacidad de realizar tareas de UNDO (Deshacer). Este es un patrón de Diseño y también es conocido como de Acción (Action) o Transacción (Transaction) PATRON DE SOFTWARE: COMMAND

5 Aplicabilidad y Estructura
Se puede utilizar el patrón command para: Parametrizar objetos por las acciones que realizan. Especificar, administrar y ejecutar solicitudes en tiempos distintos. El objeto Command tiene un tiempo de vida que es independiente de la solicitud del comando que lo instancia. PATRON DE SOFTWARE: COMMAND

6 Aplicabilidad y Estructura (Cont)
Soporta la capacidad de deshacer la solicitud. el objeto Command puede guardar un estado que permita deshacer la ejecución del comando. Soporta la capacidad de generar bitácoras que permitan la recuperación del estado en caso de que el sistema falle. PATRON DE SOFTWARE: COMMAND

7 Aplicabilidad y Estructura (Cont)
PATRON DE SOFTWARE: COMMAND

8 PATRON DE SOFTWARE: COMMAND
Command  :Declara la interface para la ejecucion de la operación ConcreteCommand  Define la relación entre el objeto Receiver y una acción Implemeta Execute() al invocar las operaciones correspondientes en Receiver Client  Crea un objeto ConcreteCommand y lo relaciona con su Receiver PATRON DE SOFTWARE: COMMAND

9 PATRON DE SOFTWARE: COMMAND
Client  Crea un objeto ConcreteCommand y lo relaciona con su Receiver Invoker  Le hace solicitudes al objeto Command Receiver  Sabe como ejecutar las operaciones asociadas a la solicitud. Cualquier clase puede ser receptora. PATRON DE SOFTWARE: COMMAND

10 PATRON DE SOFTWARE: COMMAND
Consecuencias Command desliga el objeto invocador del objeto receptor Se pueden ensamblar comandos en comandos compuestos. Para un nuevo comando no se necesita extender las clases. PATRON DE SOFTWARE: COMMAND

11 PATRON DE SOFTWARE: COMMAND
Ejemplo Que tan inteligente debe ser un comando?: Se debe considerar que un Command puede simplemente invocar a un receiver o puede realizar operaciones complejas que ningún otro objeto está en capacidad de realizar por si solo. PATRON DE SOFTWARE: COMMAND

12 PATRON DE SOFTWARE: COMMAND
Ejemplo Soporte a la opcion deshacer y rehacer: Para implementar estas opciones el ConcreteCommand debe incluir información extra, pertinente al estado para así poder deshacer o rehacer una solicitud. PATRON DE SOFTWARE: COMMAND

13 PATRON DE SOFTWARE: COMMAND
Ejemplo Evite la acumulación de errores en el proceso de deshacer: En la medida en que se hacen y deshacen operaciones es posible que el estado al que se llega diverga del estado original de los objetos. Es necesario que el ConcreteCommand contenga suficiente información para que sea capaz de hacer que los objetos vuelvan al estado original. PATRON DE SOFTWARE: COMMAND

14 PATRON DE SOFTWARE: COMMAND
Ejemplo PATRON DE SOFTWARE: COMMAND

15 PATRON DE SOFTWARE: COMMAND
Bibliografía CD - Design Patterns – GoF Departamento de Sistemas – Universidad de los Andes GAIA - Group for Artificial Intelligence Applications PATRON DE SOFTWARE: COMMAND


Descargar ppt "PATRON DE SOFTWARE: COMMAND"

Presentaciones similares


Anuncios Google