Patrones de diseño de Python - Comando

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.