本文介绍: 命令模式(Command Pattern)是一种行为型设计模式。命令对象可以把行动(action) 及其参数封装起来,注意,命令模式是传递行为的一种方法。它允许对调用的对象实现可逆操作,或者暴露执行历史记录。这种模式可以帮助您的代码更加灵活和可扩展。
命令模式(Command Pattern)是一种行为型设计模式。
命令对象可以把行动(action) 及其参数封装起来,从而可以进行以下操作。
命令模式包括三个部分:
下面,我们可以用 Swift 编写一个简单的命令模式的实例:
// 我们定义命令(Command)
protocol Command {
func execute()
}
class TurnOnCommand: Command {
let doors: String
init(doors: String) {
self.doors = doors
}
func execute() {
print("turn on (doors)")
}
}
class TurnOffCommand: Command {
let doors: String
init(doors: String) {
self.doors = doors
}
func execute() {
print("turn off (doors)")
}
}
// 定义调用者(Invoker),它知道如何使用命令来执行
class Invoker {
var onCommand: Command
var offCommand: Command
init(doors: String) {
self.onCommand = TurnOnCommand(doors: doors)
self.offCommand = TurnOffCommand(doors: doors)
}
func turnOn() {
onCommand.execute()
}
func turnOff() {
offCommand.execute()
}
}
// 创建一个客户端(Client)来测试代码:
let invoker = Invoker(doors: "baby room door")
invoker.turnOn()
invoker.turnOff()
在这个示例中,我们在两个不同的命令(TurnOnCommand 和 TurnOffCommand)中,使用调用者(Invoker)来调用这些命令来执行操作。
这个简单的例子演示了命令模式的工作原理。注意,命令模式是传递行为的一种方法。它允许对调用的对象实现可逆操作,或者暴露执行历史记录。这种模式可以帮助您的代码更加灵活和可扩展。
原文地址:https://blog.csdn.net/liyunxiangrxm/article/details/130832750
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_38264.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。