2023-02-22
原文作者:键盘林 原文地址:https://blog.csdn.net/qq_37909508/category_8976362.html

命令模式:

定义:

将“请求”封装成对象,以便使用不同的请求

命令模式解决了应用程序中对象的职责以及它们之间的通信方式

类型:行为型

202302222110160051.png

适用场景:

请求调用者和请求接收者需要解耦,使得调用者和接收者不直接交互

需要抽象出等待执行的行为

优点:

降低解耦

容易扩展新命令或者一组命令

缺点:

命令的无限扩展会增加类的数量,提高系统实现复杂度

相关设计模式:

命令模式和备忘录模式

Coding:

创建command接口

202302222110167622.png

创建课程CourseVideo类

202302222110174733.png

创建OpenCourseVideoCommand类实现Command接口

202302222110188454.png

创建CloseCourseVideoCommand类实现Command接口

202302222110201615.png

创建Staff类

202302222110213706.png

当前的UML类图

202302222110225167.png

创建Test类

202302222110233828.png

运行结果

202302222110247989.png

在JDK中的应用

Runnable接口(我们可以了解为runnable就是一个抽象的命令)

2023022221102585610.png

对于它下面所有的实现了都可以理解为是它的命令的具体实现

2023022221102762511.png

类Test,它的run方法可以理解为我们上面的excute方法

2023022221102948012.png

2023022221103034213.png

阅读全文