Actividad de Patrones de Diseño: Comando y Cadena de Responsabilidad en C# o Pytho
Descripción de la Actividad
Objetivo: Utilizar los patrones de diseño Comando y Cadena de Responsabilidad para desarrollar una aplicación móvil de edición de imágenes que permita aplicar filtros y ajustes de forma secuencial y controlada.
Escenario
Una aplicación de edición de imágenes para dispositivos móviles que permite a los usuarios aplicar múltiples filtros y ajustes a sus fotos. Los usuarios pueden deshacer y rehacer cambios de manera flexible y controlada, utilizando una interfaz intuitiva.
Tareas
Implementar el patrón Comando para encapsular todas las operaciones de edición como objetos de comando.
Usar el patrón Cadena de Responsabilidad para manejar una secuencia de filtros y ajustes aplicados a una imagen.
Crear comandos concretos para diferentes ajustes y filtros.
Desarrollar una interfaz de usuario que permita aplicar y revertir los comandos de edición fácilmente.
Implementación
1. Definición de Clases
Interfaz Comando:
Método ejecutar para aplicar el comando.
Método deshacer para revertir el comando.
Clase ComandoBrillo: Implementa Comando.
Aumenta o disminuye el brillo de la imagen.
Clase ComandoContraste: Implementa Comando.
Ajusta el contraste de la imagen.
Clase GestorComandos:
Almacena una lista de comandos ejecutados y proporciona métodos para deshacer y rehacer comandos.
Clase Filtro: (Cadena de Responsabilidad)
Procesa un ajuste y pasa el control al siguiente filtro en la cadena.
2. Lógica de Interacción
Los usuarios seleccionan ajustes de una lista de comandos disponibles y aplican estos a la imagen. Cada comando es registrado por el GestorComandos para permitir deshacer o rehacer.
Los ajustes son procesados secuencialmente por objetos Filtro, permitiendo a cada filtro añadir su efecto antes de pasar la imagen modificada al siguiente filtro en la cadena.
3. Prueba del Sistema
Verificar que cada comando se ejecuta y deshace correctamente, manteniendo la integridad de los estados de la imagen.
Asegurar que la cadena de filtros procesa los efectos en orden y que los resultados son los esperados.
Evaluar la usabilidad de la interfaz de usuario para asegurar que los comandos sean accesibles y fáciles de usar.
Objetivo de Aprendizaje
Comprender cómo el patrón Comando permite gestionar operaciones de forma desacoplada y reversible, facilitando funcionalidades de deshacer y rehacer.
Explorar cómo el patrón Cadena de Responsabilidad puede ser utilizado para manejar secuencias de operaciones, permitiendo la flexibilidad en el procesamiento de tareas.
Desarrollar habilidades en el diseño de interfaces de usuario y en la implementación de patrones de diseño que mejoren la experiencia del usuario en aplicaciones creativas.
Actividad de Patrones de Diseño: Comando y Cadena de Responsabilidad en C# o Pytho
Descripción de la Actividad
Objetivo: Utilizar los patrones de diseño Comando y Cadena de Responsabilidad para desarrollar una aplicación móvil de edición de imágenes que permita aplicar filtros y ajustes de forma secuencial y controlada.
Escenario
Una aplicación de edición de imágenes para dispositivos móviles que permite a los usuarios aplicar múltiples filtros y ajustes a sus fotos. Los usuarios pueden deshacer y rehacer cambios de manera flexible y controlada, utilizando una interfaz intuitiva.
Tareas
Implementación
1. Definición de Clases
Interfaz
Comando
:ejecutar
para aplicar el comando.deshacer
para revertir el comando.Clase
ComandoBrillo
: ImplementaComando
.Clase
ComandoContraste
: ImplementaComando
.Clase
GestorComandos
:Clase
Filtro
: (Cadena de Responsabilidad)2. Lógica de Interacción
GestorComandos
para permitir deshacer o rehacer.Filtro
, permitiendo a cada filtro añadir su efecto antes de pasar la imagen modificada al siguiente filtro en la cadena.3. Prueba del Sistema
Objetivo de Aprendizaje