Python Design Patterns - Comando

O Padrão de Comando adiciona um nível de abstração entre as ações e inclui um objeto, que invoca essas ações.

Nesse padrão de design, o cliente cria um objeto de comando que inclui uma lista de comandos a serem executados. O objeto de comando criado implementa uma interface específica.

A seguir está a arquitetura básica do padrão de comando -

Como implementar o padrão de comando?

Agora veremos como implementar o padrão de design.

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)

Resultado

O programa acima gera a seguinte saída -

Explicação

A saída implementa todos os comandos e palavras-chave listados na linguagem Python. Ele imprime os valores necessários das variáveis.