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

  • 相关阅读:
    SNS与在线旅游
    案例分析:荷兰铁路公司的分布式Scrum开发
    不要把简单的事情搞得N复杂(例1)
    魔兽争霸苹果版 mac安装
    UI展现技术总结
    谈使用final关键字
    蓝牙PSKEY的调整
    Android架构详解
    WINCE6.0文件系统选择
    WINCE蓝牙应用开发方式
  • 原文地址:https://www.cnblogs.com/hellokitty2/p/10721000.html
Copyright © 2011-2022 走看看