zoukankan      html  css  js  c++  java
  • 设计模式(命令模式)

    命令行把请求和操作封装起来,坦白的讲,我现在还不是特别理解,也没有再具体的项目中使用过,感觉有点过于复杂。

    本文参考一些材料,给出一个简单的例子。如下:

    • Trade
    public class Trade {
        public void doSell(){
            System.out.println("doSell");
        }
        
        public void doBuy(){
            System.out.println("doBuy");
        }
    }
    • TradeCommand
    public abstract class TradeCommand {
        protected Trade trade;
        
        public TradeCommand(Trade trade){
            this.trade = trade;
        }
        
        public abstract void execute();
    }
    • BuyTradeCommand
    public class BuyTradeCommand extends TradeCommand {
    
        public BuyTradeCommand(Trade trade) {
            super(trade);
        }
    
        @Override
        public void execute() {
            this.trade.doBuy();
        }
    }
    • SellTradeCommand
    public class SellTradeCommand extends TradeCommand {
    
        public SellTradeCommand(Trade trade) {
            super(trade);
        }
    
        @Override
        public void execute() {
            this.trade.doSell();
        }
    }
    • Invoke
    public class Invoke {
        public TradeCommand command;
        
        public void setCommand(TradeCommand command){
            this.command = command;
        }
        
        public void execute(){
            command.execute();
        }
    }
    • APP 测试类
    public class App {
    
        public static void main(String[] args) {
            Trade trade = new Trade();
            Invoke invoke = new Invoke();
            invoke.setCommand(new SellTradeCommand(trade));
            invoke.execute();
            invoke.setCommand(new BuyTradeCommand(trade));
            invoke.execute();
        }
    }
  • 相关阅读:
    使用opencv显示视频的方法
    使用visual studio 2012 编译opencv2.4.9
    求前100个斐波那契数
    EXTJs前后台交互 常用哦3种方式
    spring 注解
    程序 人生
    ajaxs
    LNMP源码安装脚本
    系统状态统计和查看
    Shell中的${}、##和%%使用范例
  • 原文地址:https://www.cnblogs.com/Fredric-2013/p/4573455.html
Copyright © 2011-2022 走看看