命令模式(Command)

1

定义

  命令模式(Command):属于行为型模式,将一个行为封装为一个对象,从而可以将行为与执行解耦,实现记录、撤销、排队等操作。

代码实战

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
34
35
36
interface Command {
void operator();
}

class DoHomework implements Command {
@Override
public void operator() {
System.out.println("do homework");
}
}

class WashClothes implements Command {
@Override
public void operator() {
System.out.println("wash clothes");
}
}

class Cook implements Command {
@Override
public void operator() {
System.out.println("cook");
}
}

class Test {
public static void main(String[] args) {
Queue<Command> commandQueue = new LinkedList<>();
commandQueue.add(new DoHomework());
commandQueue.add(new WashClothes());
commandQueue.add(new Cook());
while (!commandQueue.isEmpty()) {
commandQueue.poll().operator();
}
}
}

类图

1

特点

  命令模式的特点是,创建一个命令接口,一般是通过一个队列保存实现类的对象。当需要执行命令时,不需要区分具体的命令,直接调用对象的方法即可,一般消息队列中会选择使用命令模式。

总结

  命令模式具有记录、撤销、排队等功能。因此使用的场景还是比较多的,小伙伴们一定要牢记这种设计模式。

-------------本文结束感谢您的阅读-------------
0%