Java命令模式

x33g5p2x  于2021-09-29 转载在 Java  
字(0.9k)|赞(0)|评价(0)|浏览(383)

什么是命令模式?

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

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

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

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

接口

  1. public interface Order {
  2. void execute();
  3. }

命令类

  1. public class Broker {
  2. private List<Order> orderList = new ArrayList<Order>();
  3. public void takeOrder(Order order){
  4. orderList.add(order);
  5. }
  6. public void placeOrders(){
  7. for (Order order : orderList) {
  8. order.execute();
  9. }
  10. orderList.clear();
  11. }
  12. }

接口实现类

  1. public class BuyStock implements Order {
  2. public void buy(){
  3. System.out.println("Stock BuyStock");
  4. }
  5. public void execute() {
  6. this.buy();
  7. }
  8. }

接口实现类

  1. public class SellStock implements Order {
  2. public void sell(){
  3. System.out.println("Stock SellStock");
  4. }
  5. public void execute() {
  6. this.sell();
  7. }
  8. }

测试

  1. public class CommandPatternDemo {
  2. public static void main(String[] args) {
  3. Broker broker = new Broker();
  4. broker.takeOrder(new BuyStock());
  5. broker.takeOrder(new SellStock());
  6. // 通过一条命令 来运行 多个对象中的方法
  7. broker.placeOrders();
  8. }
  9. }

Stock BuyStock
Stock SellStock

相关文章

最新文章

更多