23种设计模式介绍(Python示例讲解)(26)

2023-04-30 来源:飞速影视
实现思路:
在命令模式中,我们定义一个 Command 接口,该接口包含一个 execute 方法,用于执行命令。我们还定义了一个 Invoker 类,它用于发送命令,可以接受一个 Command 对象,并在需要时调用该对象的 execute 方法。我们还定义了一个 Receiver 类,它实际执行命令,包含一些特定于应用程序的业务逻辑。
命令模式涉及以下角色:
Command 接口:定义了一个执行命令的方法 execute。具体命令类(Concrete Command):实现了 Command 接口,实现 execute 方法,包含一个接收者对象,执行具体的业务逻辑。Invoker 类:负责发送命令,它包含一个 Command 对象,可以在需要时调用该对象的 execute 方法。Receiver 类:包含一些特定于应用程序的业务逻辑,实际执行命令。
下面是一个简单的 Python 实现示例:
1、定义 Command 接口:
from abc import ABC, abstractmethodclass Command(ABC): @abstractmethod def execute(self): pass
2、实现具体命令类:
class LightOnCommand(Command): def __init__(self, light): self.light = light def execute(self): self.light.turn_on()class LightOffCommand(Command): def __init__(self, light): self.light = light def execute(self): self.light.turn_off()
3、定义 Invoker 类:
class RemoteControl: def __init__(self): self.commands = [] def add_command(self, command): self.commands.append(command) def execute_commands(self): for command in self.commands: command.execute()
相关影视
合作伙伴
本站仅为学习交流之用,所有视频和图片均来自互联网收集而来,版权归原创者所有,本网站只提供web页面服务,并不提供资源存储,也不参与录制、上传
若本站收录的节目无意侵犯了贵司版权,请发邮件(我们会在3个工作日内删除侵权内容,谢谢。)

www.fs94.org-飞速影视 粤ICP备74369512号