Command Pattern agrega un nivel de abstracción entre acciones e incluye un objeto, que invoca estas acciones.
En este patrón de diseño, el cliente crea un objeto de comando que incluye una lista de comandos a ejecutar. El objeto de comando creado implementa una interfaz específica.
A continuación se muestra la arquitectura básica del patrón de comando:
¿Cómo implementar el patrón de comando?
Ahora veremos cómo implementar el patrón de diseño.
def demo(a,b,c):
print 'a:',a
print 'b:',b
print 'c:',c
class Command:
def __init__(self, cmd, *args):
self._cmd=cmd
self._args=args
def __call__(self, *args):
return apply(self._cmd, self._args+args)
cmd = Command(dir,__builtins__)
print cmd()
cmd = Command(demo,1,2)
cmd(3)
Salida
El programa anterior genera la siguiente salida:
Explicación
La salida implementa todos los comandos y palabras clave enumerados en lenguaje Python. Imprime los valores necesarios de las variables.