Командный шаблон добавляет уровень абстракции между действиями и включает в себя объект, который вызывает эти действия.
В этом шаблоне проектирования клиент создает объект команды, который включает в себя список команд, которые должны быть выполнены. Созданный объект команды реализует определенный интерфейс.
Ниже приводится базовая архитектура шаблона команды —
Как реализовать шаблон команды?
Теперь мы увидим, как реализовать шаблон проектирования.
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. Он печатает необходимые значения переменных.