Python Design Patterns 简明教程

Python Design Patterns - Command

命令模式在操作之间增加了一个抽象级别,并且包含一个调用这些操作的对象。

在这个设计模式中,客户端创建一个命令对象,其中包含要执行的命令列表。创建的命令对象实现了特定接口。

以下是命令模式的基本架构−

architecture of command pattern

How to implement the command pattern?

我们现在将看看如何实现设计模式。

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)

Output

上述程序生成以下输出 −

command pattern

Explanation

该输出实现了 Python 语言中列出的所有命令和关键字。它打印变量的必要值。