敏捷软件开发之Command模式

2017-05-12  本文已影响0人  编程回忆录

Command模式是设计模式中最简单的模式,该接口标准实现只有一个方法。该模式常见用法是创建和执行事务。

Active Object模式是使用Command模式的地方之一。该模式是实现多线程控制的一项最古老的技术。
如下:
ActiveObjectEngine对象维护了一个Command对象的链表。用户可以向该引擎增加新的命令,或者调用run()。run()函数只是遍历链表,执行并去除每个命令。

public interface Command {
    void execute();
}

public class ActiveObjectEngine {
    ArrayList<Command> itsCommands = new ArrayList<>();

    public void addCommand(Command cmd) {
        this.itsCommands.add(cmd);
    }

    public void run() {
        while (this.itsCommands.size() > 0) {
            Command cmd = this.itsCommands.get(0);
            itsCommands.remove(0);
            cmd.execute();
        }
    }
}

上一篇下一篇

猜你喜欢

热点阅读