Descargar la presentación
La descarga está en progreso. Por favor, espere
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
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.