Учебники

Шаблоны проектирования Python — Команда

Командный шаблон добавляет уровень абстракции между действиями и включает в себя объект, который вызывает эти действия.

В этом шаблоне проектирования клиент создает объект команды, который включает в себя список команд, которые должны быть выполнены. Созданный объект команды реализует определенный интерфейс.

Ниже приводится базовая архитектура шаблона команды —

Архитектура командного паттерна

Как реализовать шаблон команды?

Теперь мы увидим, как реализовать шаблон проектирования.

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. Он печатает необходимые значения переменных.