命令模式是对命令的封装.命令模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象.该模式的示意类图如下:

下面是一个Command模式的例子(模仿<Java与模式>中的例子).
现有一个录音机(AudioPlayer),他有播放(Play),到带(Rewind)和停止(Stop)三个功能,利用Command模式实现中,录音机(AudioPlayer)则为Receiver对象,将录音机的键盘作为Invoker对象,因为客户是通过他去执行播放,倒带,停止的功能(命令).
首先:定义录音机对象
![]()
}
接下来定义命令对象,在这里,我采用一个抽象类AbstractCommand(ICommand角色)做为所有具体命令类的父类,所有具体命令类都要继承自该抽象类:
public abstract class AbstractCommand
}
具体命令对象如下:
![]()
}
接下来定义键盘对象KeyPad(Invoker角色):
![]()
}
现在,客户端就可以这样控制录音机了:
AudioPlayer player = new AudioPlayer(); //定义receiver对象

pad.Stop();
相关文章:
-
2022-12-23
-
2021-10-11
-
2022-02-13
-
2021-10-03
-
2021-07-26
-
2022-12-23
-
2021-08-22
-
2022-01-09
猜你喜欢
-
2021-05-22
-
2021-10-30
-
2022-12-23
-
2022-03-06
-
2021-09-14
-
2021-12-02
-
2021-05-08
相关资源
-
下载
2021-06-05
-
下载
2023-03-22
-
下载
2022-12-21