33、Python设计模式(二)

Python设计模式(二)

命令模式

命令模式是一种行为设计模式,它将请求封装成一个对象,从而允许你使用不同的请求、队列或日志来参数化其他对象,并且支持请求的撤销与恢复。

document = Document("a_file.txt")
shortcut = KeyboardShortcut()
save_command = SaveCommand(document)
shortcut.command = save_command

上述代码展示了命令模式的一种实现,让调用者调用可调用对象而非带有 execute 方法的命令对象,这不仅没有带来限制,反而增加了灵活性。我们既可以在合适时直接链接函数,也能在必要时构建完整的可调用命令对象。

命令模式常被扩展以支持可撤销命令。例如,文本程序可将每次插入操作封装在一个单独的命令中,该命令不仅有 execute 方法,还有用于删除插入内容的 undo 方法;图形程序可将每个绘图动作(如矩形、线条、手绘像素等)封装在一个命令中,该命令的 undo 方法可将像素重置为原始状态。在这些情况下,命令模式的解耦特性尤为有用,因为每个动作都需保存足够的状态,以便后续撤销操作。

抽象工厂模式

抽象工厂模式通常用于有多种系统实现方案,且这些实现依赖于某些配置或平台因素的场景。调用代码从抽象工厂请求对象,却并不清楚返回对象的具体类。返回的底层实现可能取决于多种因素,如当前区域设置、操作系统或本地配

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值