zoukankan      html  css  js  c++  java
  • 命令模式

    1.命令模式
    命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象
    寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。

    2.试验Demo

    import java.util.List;
    import java.util.ArrayList;
    
    class Stock {
        public void buy() {
            System.out.println("buy 10 stocks");
        }
    
        public void sell() {
            System.out.println("shell 10 stocks");
        }
    }
    
    
    interface Order {
        public void excuate();
    }
    
    class ByStocks implements Order {
        private Stock stock;
        public ByStocks(Stock stock) {
            this.stock = stock;
        }
        public void excuate() {
            stock.buy();
        }
    }
    
    
    class ShellStocks implements Order {
        private Stock stock;
        public ShellStocks(Stock stock) {
            this.stock = stock;
        }
        public void excuate() {
            stock.sell();
        }
    }
    
    class Broker {
        private static List<Order> lists = new ArrayList<Order>();
    
        public static void orderStore(Order order) {
            lists.add(order);
        }
    
        public static void orderExecute() {
            for (Order list : lists) {
                list.excuate();
            }
            lists.clear();
        }
    
    }
    
    
    public class CommandPatternDemo {
        public static void main(String args[]) {
            Stock stock = new Stock();
    
            Order buyStock = new ByStocks(stock);
            Order shellStock = new ShellStocks(stock);
    
            Broker.orderStore(buyStock);
            Broker.orderStore(shellStock);
    
            Broker.orderExecute();
        }
    }

    参考:http://www.runoob.com/design-pattern/command-pattern.html

  • 相关阅读:
    汇总国内开源站点镜像网站-20210813更新
    谈谈技术人的技术家园
    庖丁解码
    好的软件(软件工程)
    LeetCode 914卡盘分组
    《黑客与画家》读书笔记
    30岁的我给现在26岁的自己的想说的一些话
    毕业一年半,发现自己还是一个CURD boy
    LeetCode 120 Triangle
    疫情相关项目复盘
  • 原文地址:https://www.cnblogs.com/hellokitty2/p/10721000.html
Copyright © 2011-2022 走看看