命令行模式(Command)

Posted by Jfson on 2018-06-22

命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。

一个通用的例子是你在餐厅点餐。您(即Client)要求服务员(即Invoker)携带一些食物(即Command),服务员只是将请求转发给主厨(即Receiver),该主厨知道什么以及如何烹饪。另一个例子是你(即)使用遥控器()Client打开(即Command)电视(即)。

使用场景:认为是命令的地方都可以使用命令模式,比如: 1、GUI 中每一个按钮都是一条命令。 2、模拟 CMD。

这就是简单的封装。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
interface Open{
void execute();
}
class Action{
public void clickOpen(){
System.out.print("按钮执行开机程序");
}
public void farOpen(){
System.out.print("远程执行开机程序");
}
}
class TV implements Open{
public Action mAction;
public TV (Action action){
Action = action;
}
public void execute(){
mAction.clickOpen();
}
}
class Control implements Open{
public Action mAction;
public TV (Action action){
Action = action;
}
public void execute(){
mAction.farOpen();
}
}

pv UV: