El patrón Command es un patrón de diseño de comportamiento que se encarga de encapsular solicitudes como objetos, permitiéndote parametrizar clientes con comandos, filas de solicitudes o registros de operaciones. La clave de este patrón radica en encapsular la lógica en pequeños "comandos". Estos comandos no solo son manejables, sino que también son controlados por una entidad conocida como el Command Manager.
¿Cuándo se debe implementar el patrón Command?
La implementación del patrón Command es ideal cuando detectas lógicas o procesos repetitivos a lo largo del proyecto. Al encapsular estas lógicas en comandos, optimizas el código y facilitas la reutilización. Además, el Command Manager ofrece una forma sencilla de gestionar y ejecutar estos comandos bajo demanda.
¿Cómo se implementa el patrón Command?
La implementación del patrón Command sigue un esquema estructurado:
Creación de comandos: Los comandos se encapsulan en interfaces específicas con funciones claras.
Command Manager: Una clase que maneja la vida útil de los comandos permitiendo agregarlos, quitarlos y ejecutarlos.
Implementación paso a paso
Crear el paquete Command:
Primero, crea un paquete que albergará todos los comandos de tu proyecto, así:
Maximiza la reutilización: Al encapsular lógicas comunes en comandos, facilitas la reutilización en diferentes partes del proyecto.
Gestión centralizada: Usa el Command Manager para centralizar el control de comandos, lo que simplifica la administración de lógicas complejas.
Flexibilidad: Permite la adición y eliminación de comandos en tiempo de ejecución sin alterar el código base principal.
El patrón Command no solo organiza, sino que también permite mayor flexibilidad y capacidad de gestión sobre el flujo y la ejecución de procesos en tu proyecto. ¿Estás listo para implementar el patrón Command en tu proyecto y mejorar su arquitectura?
Encapsular lógicas en pequeños comandos. Estos comandos van a ser manejados por una ente llamado Command Manager. A ese Command manager le podemos poner en tiempo de ejecución los comandos y también le podremos pedir en tiempo de ejecución esos comandos.
Buen aporte
Gracias!
COMMAND
Separa acciones que pueden ser ejecutadas desde varios puntos diferentes de la aplicación a través de una interfaz sencilla.
¿Cuándo usarlo?
Si hay fragmentos de código que se ejecutan, o son partes de una serie de ejecuciones y se repiten, los encapsulamos en un comando y van a poder ser ejecutados o cambiados sin impactar el código.
Al patron Command también se le suele agrgar un método undo a la par de execute, pero para que haga lo inverso del execute. Y puede ser usado con un Ctrl + Z para deshacer una acción.
Command encapsula logicas en comandos que se manejan a traves de una interfaz sencilla.
++Recordatorio:++ El operador Double Bang (!!) trabaja con NullPointerExceptions
Separa acciones que pueden ser ejecutadas desde diferentes puntos de la aplicación a través de una interfaz sencilla. Los comandos son administrados por una clase llamada CommandManager, a este se le puede agregar en tiempo de ejecución comandos y posteriormente ejecutarlos.
Se debe usar cuando hay lógica de negocio que es repetitiva en la app, todos los encapsulamos en un comando y podrán ser invocados desde cualquier parte del código.