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

  • 相关阅读:
    java native 跨语言开发
    tomcat 加载 war包
    AWS
    云主机的体系架构
    数据流程图
    html5 创收
    javascript 发展
    营利模式
    错误:Reference file contains errors http://www.ibm.com/webservices/xsd/j2ee_web_services_client_1_1.xsdv......
    android eclipse 项目相互引用设置
  • 原文地址:https://www.cnblogs.com/hellokitty2/p/10721000.html
Copyright © 2011-2022 走看看