对象行为型模式——命令模式(Command)
来源:互联网 发布:淘宝专业版装修教程 编辑:程序博客网 时间:2024/06/06 00:22
- 定义:
将请求封装为对象 - 概述
命令模式的关键就是把请求封装为命令对象,制定统一的执行操作接口,所有的操作包括存储、转发、记录等都围绕这个对象进行。标准的命令模式会有以下几个类:
Command:命令的接口类,声明执行的方法
ConcreteCommand:具体的命令类,实现了Command,并持有接收者Receiver,调用接收者的相关方法来完成命令功能
Receiver:真正执行命令的对象
Invoker:调用命令的入口对象 - 实例(Kotlin语言)
以下是命令接口
interface Command { fun execute()}
以下是具体的命令
class LightOnCommand(val light: Light) : Command { override fun execute() { light.on() }}
以下是接收者
class Light { fun on(): Unit { println("电灯打开了。。。") } fun off(): Unit { println("电灯关闭了。。。") }}
以下是Invoker
class SimpleRemoteControl { lateinit var com:Command fun setCommand(com: Command): Unit { this.com = com } fun buttonWasPressed(): Unit { com.execute() }}
以下是测试及结果
fun main(args: Array<String>) { val simpleRemoteControl = SimpleRemoteControl() val lightOnCommand = LightOnCommand(Light()) simpleRemoteControl.setCommand(lightOnCommand) simpleRemoteControl.buttonWasPressed()}//结果电灯打开了。。。Process finished with exit code 0
- 类图
如有错误,请留言更正,或进580725421群讨论,以免误导其他开发者!!!
阅读全文
0 0
- 对象行为型模式——命令模式(Command)
- COMMAND 命令模式 --对象行为型模式
- COMMAND(命令)— 对象行为型模式
- 命令模式Command(对象行为型)
- 设计模式之对象行为型模式 — COMMAND (命令)模式
- JAVA设计模式(18) —<行为型>命令模式(Command)
- 设计模式之命令(Command)---对象行为型模式
- 设计模式 ( 十三 ) 命令模式Command(对象行为型)
- 设计模式 ( 十三 ) 命令模式Command(对象行为型)
- 设计模式 ( 十三 ) 命令模式Command(对象行为型)
- 设计模式 ( 十三 ) 命令模式Command(对象行为型)
- Command——对象行为模式
- Command命令(行为型模式)
- 行为型模式-命令command
- 行为型模式-命令(command)
- 3.2 Command(命令) -- 对象行为型模式
- 行为型模式-----命令模式(Command)
- [设计模式-行为型]命令模式(Command)
- 高斯朴素贝叶斯
- Effect(五)—— IEffect
- 关于tomcat默认编码方式ISO-8859-1及转换方法
- 使用apache下的FTP功能,出现java.net.SocketException: Software caused connection abort: recv failed
- 本地计算机无法识别正在用于访问远程共享文件夹的用户名
- 对象行为型模式——命令模式(Command)
- 网络状态判断需要以上两个权限
- Solr的Bug之出现乱码或者查不到结果。
- Linux系统基础(十一)
- 洛谷P1856
- 利用Tensorflow-slim Finetuning分类网流程及C++预测
- system call filters failed to install; check the logs and fix your configuration or disable system c
- 【多进程与多线程】为什么在Python里推荐使用多进程而不是多线程?
- Java高并发秒杀API之web层实现(三)