design-patterns/behavioral/command/main.py
2020-10-01 13:23:31 +02:00

16 lines
494 B
Python

"""
The client code can parameterize an invoker with any commands.
"""
from behavioral.command.commands import SimpleCommand, ComplexCommand
from behavioral.command.invoker import Invoker
from behavioral.command.receiver import Receiver
if __name__ == '__main__':
invoker = Invoker()
invoker.set_on_start(SimpleCommand("Say hi"))
receiver = Receiver()
invoker.set_on_finish(ComplexCommand(
receiver, "Send email", "Save report"))
invoker.do_something_important()