Command
Propósito
Según el libro "Patrones de Diseño" [29] el patrón Command "encapsula una petición en un objeto, permitiendo así parametrizar a los clientes con diferentes peticiones, hacer cola o llevar registro de las peticiones, y poder deshacer las operaciones".
También conocido como
Action, Transaction
Estructura

Participantes
Orden:
declara una interfaz para ejecutar una operación.
Orden Concreta:
define un enlace entre una variable Receptor y una acción.
implementa Ejecutar invocando la correspondiente operación u operaciones del Receptor.
Cliente:
crea una variable OrdenConcreta y establece su receptor.
Invocador:
le pide a la orden que ejecute la petición.
Receptor:
sabe cómo llevar a cabo las operaciones asociadas a una petición. Cualquier clase puede actuar como Receptor.
Implementación
No se observan impedimentos y/o modificaciones de la estructura original del patrón para su implementación en Go.
Código de ejemplo
En este ejemplo queremos poder prender y apagar un televisor mediante la invocación de comandos mediante un control remoto.
Implementación:
Se puede probar la implementación del patrón de la siguiente forma:
Código de ejemplo | Ejecutar código
Atención: Esta publicación se encuentra abandonada. Puede acceder a la versión vigente en https://leanpub.com/designpatternsingo
Última actualización
¿Te fue útil?