命令模式在動作之間新增一個抽象級別,並包含一個呼叫這些動作的物件。
在這種設計模式中,用戶端建立一個包含要執行的命令列表的命令物件。 建立的命令物件實現了特定的介面。
以下是命令模式的基本架構 -
現在我們將看到如何實現設計模式。參考以下實現程式碼 -
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)
執行上述程式生成以下輸出 -
注意:輸出實現了Python語言中列出的所有命令和關鍵字。它列印變數的值。