《敏捷软件开发》— 设计模式(一)
一、Command 模式和 Active Object 模式
1、Command 模式
我们在 《设计模式》— 行为型模式 — 命令模式中学习过命令模式。该模式可以将负责实现业务逻辑的模块与上层模块分离。
2、Active Object 模式
Active Object 模式是命令模式在并发编程(应该并非书中所说的多线程编程)的具体应用,其实现原理类似多路 I/O 复用。
(1)基本结构
// Command.java
public interface Command {
void execute();
}
// ActiveObjectEngine.java
import java.util.LinkedList;
public class ActiveObjectEngine {
LinkedList<Command> commands = new LinkedList<>();
public void addCommand(Command command) {
commands.add(command);
}
public void run() {
while (!commands.isEmpty()) {
var command = commands.getFirst();
commands.removeFirst();
command.execute();
}
}
}
(2)关键点
上述实现没有什么特别之处。该模式还需要和 Command 的实现类配合使用。根据命令执