命令模式:
定义:
将“请求”封装成对象,以便使用不同的请求
命令模式解决了应用程序中对象的职责以及它们之间的通信方式
类型:行为型
适用场景:
请求调用者和请求接收者需要解耦,使得调用者和接收者不直接交互
需要抽象出等待执行的行为
优点:
降低解耦
容易扩展新命令或者一组命令
缺点:
命令的无限扩展会增加类的数量,提高系统实现复杂度
相关设计模式:
命令模式和备忘录模式
Coding:
创建command接口
创建课程CourseVideo类
创建OpenCourseVideoCommand类实现Command接口
创建CloseCourseVideoCommand类实现Command接口
创建Staff类
当前的UML类图
创建Test类
运行结果
在JDK中的应用
Runnable接口(我们可以了解为runnable就是一个抽象的命令)
对于它下面所有的实现了都可以理解为是它的命令的具体实现
类Test,它的run方法可以理解为我们上面的excute方法