0% encontró este documento útil (0 votos)
4 vistas15 páginas

Introducción al Patrón Command

Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
4 vistas15 páginas

Introducción al Patrón Command

Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

PATRÓN

COMMAND

EMMANUEL MARTINEZ SIERRA


QUE ES?

El patrón de diseño Command nos permite ejecutar operaciones sin


conocer los detalles de la implementación de la misma.

Las operaciones son conocidas como comandos y cada operación es


implementada como una clase independiente que realiza una acción muy
concreta, para lo cual, puede o no recibir parámetros para realizar su
tarea.

El patrón Command ofrece una serie de ventajas significativas en cuanto


a flexibilidad, mantenibilidad y reusabilidad del código.
Imagen 1. Ejemplo patrón Command. Tomado de [Link]
CUANDO USARLO

Cuando es necesario encapsular Cuando es necesario realizar


los detalles de ejecución de una aplicaciones que trabajan con
serie de operaciones bajo una operaciones de alto nivel, donde
única interface. cada operación deberá ser
implementada de forma simple e
independiente.
ESTRUCTURA

Imagen 2. Estructura del patrón de diseño Command. Tomado de Introducción a los Patrones de Diseño.
Imagen 3. Diagrama de secuencia del patrón de diseño Command. Tomado de Introducción a los
Patrones de Diseño.
Imagen 4. Implementación sin utilizar el patrón Imagen 5. Ejecución utilizando el patrón Comando.
Command. Tomado de Introducción a los Patrones Tomado de Introducción a los Patrones de Diseño.
de Diseño.
EJEMPLO

Se diseñó un programa mediante el cual


crearemos un documento de texto, el programa
tendrá los siguientes comandos para realizar la
edición del documento:
● CreateTextCommand Crea el documento

● AppendTextCommand Inserta nuevo texto

● MakeBoldCommand Convierte el texto en negrita

● ResetTextCommand Vuelve todos los campos a sus


valores iniciales
Imagen 6. Diagrama de clases de clases del ejemplo de Command. Del autor.
EJEMPLO

Se desarrolló un programa la cual ejecuta los


siguientes comandos
● Exit Cierra el programa.

● MEMORY Muestra información de la memoria.

● ECHO Devuelve el mensaje enviado.

● Date Muestra la fecha en varios formatos.

● File Interactúa con los archivos.

● Dir Interactúa con los directorios.

● Batch Ejecuta los comandos en un archivo.

● Waihello Devuelve una “Hello!!” tras un tiempo determinado.


ESTRUCTURA

Imagen 7. Jerarquía de clases del proyecto


Command. Tomado de Introducción a los
Patrones de Diseño.
Imagen 8. Diagrama de clases del proyecto Command. Tomado de
Introducción a los Patrones de Diseño.
PATRONES RELACIONADOS

Se puede usar el patrón Composite para implementar OrdenMacro.

Un Memento puede mantener el estado que necesitan las órdenes para


anular sus efectos.

Una orden que debe ser copiada antes de ser guardada en el historial
funciona como un Prototipo.
VENTAJAS DESVENTAJAS

● Desacoplamiento. ● Aumento de la complejidad.


● Encapsulación. ● Overhead.
● Historial de comandos. ● Dificultad para deshacer
operaciones complejas.
● Parametrización.
● Problemas de concurrencia.
● Mejora la testabilidad.
● Inflexibilidad.
● Mejora la reutilización. ● Aumento del tamaño del
código.
REFERENCIAS
BLANCARTE. OSCAR, INTRODUCCIÓN A LOS PATRONES DE DISEÑO,
2016.

Refactoring Guru, Command


[Link]

GAMMA. ERICH, PATRONES DE DISEÑO, 2002.

BELMONTE, OSCAR, UNIVERSITAT JAUME I. Programación Avanzada,


Patrones de diseño, El patrón de diseño Acción (Command),
[Link]
zada/Tema2/[Link]

También podría gustarte