Java命令模式

x33g5p2x  于11个月前 转载在 Java  
字(0.9k)|赞(0)|评价(0)|浏览(92)

什么是命令模式?

命令模式就是 通过一条命令 来调用很多功能 就比如 cmd命令 比如 linux命令

在软件系统中 通常 用户的一次请求 后台需要执行 日志记录 数据处理 数据监测… 所以就需要我们将这些功能都封装起来 一起执行

想要实现命令模式 就需要有相同的接口 和一个启动方法 然后我们通过命令类收集功能和执行

下面案例 中我们将封装一个命令

接口

public interface Order {
    void execute();
}

命令类

public class Broker {
    private List<Order> orderList = new ArrayList<Order>();

    public void takeOrder(Order order){
        orderList.add(order);
    }

    public void placeOrders(){
        for (Order order : orderList) {
            order.execute();
        }
        orderList.clear();
    }
}

接口实现类

public class BuyStock implements Order {

    public void buy(){
        System.out.println("Stock BuyStock");
    }

    public void execute() {
       this.buy();
    }
}

接口实现类

public class SellStock implements Order {
    public void sell(){
        System.out.println("Stock SellStock");
    }

    public void execute() {
        this.sell();
    }
}

测试

public class CommandPatternDemo {
    public static void main(String[] args) {

        Broker broker = new Broker();
        broker.takeOrder(new BuyStock());
        broker.takeOrder(new SellStock());
        // 通过一条命令 来运行 多个对象中的方法
        broker.placeOrders();
    }
}

Stock BuyStock
Stock SellStock

相关文章

热门文章

更多