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();
        }
    }
  • 相关阅读:
    牛客(4) 重建二叉树
    牛客(3)从尾到头打印链表
    牛客(2)字符串替换
    牛客(1)二分查找
    同义词+序列+视图+临时表
    用户+授权
    控制文件+日志文件
    oracle表的基本操作
    Linux(CentOS6.8)配置Redis
    Linux(CentOS6.8)配置ActiveMQ
  • 原文地址:https://www.cnblogs.com/Fredric-2013/p/4573455.html
Copyright © 2011-2022 走看看