🐍 Python - Command Pattern
Updated at 2018-11-21 00:22
Command pattern is storing actions to perform in a mutable collection.
Command pattern with first-class functions.
from typing import Callable class MacroCommand: def __init__(self, *args: Callable): self.commands = list(args) def __call__(self): return [command() for command in self.commands] from functools import partial f1 = partial(sum, [1, 2]) f2 = partial(sum, [3, 4]) f3 = partial(sum, [5, 6]) mc = MacroCommand(f1, f2, f3) assert mc() == [3, 7, 11]
- Python Tricks The Book, Dan Bader
- Fluent Python, Luciano Ramalho