设计模式(命令模式)
2015-06-13 14:16
351 查看
命令行把请求和操作封装起来,坦白的讲,我现在还不是特别理解,也没有再具体的项目中使用过,感觉有点过于复杂。
本文参考一些材料,给出一个简单的例子。如下:
Trade
TradeCommand
BuyTradeCommand
SellTradeCommand
Invoke
APP 测试类
本文参考一些材料,给出一个简单的例子。如下:
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(); } }
相关文章推荐
- 链表接口的实现
- 2. 深入推荐引擎相关算法 - 协同过滤
- bzoj4046
- iOS 之 Thread Runloop浅显认识说起
- FaceBook/infer-分析OC文件
- Sprite Kit Swift游戏开发新手指导手册(2)
- 磁盘文件系统Fat、Fat32、NTFS、exFAT的优缺点
- 1. 推荐引擎初探
- asp.net sql 分页,,优化 排序 及分页,
- RSA 公钥密码实验1
- 16.4 监视 AlwaysOn 可用性组
- Leetcode: Sort List
- 混合自回归移动平均过程
- 数据库远程还原,本地备份。
- leetCode:Count Complete Tree Nodes
- Shell中的循环语句for、while、until实例讲解
- oracle包
- Transpose File
- 利用 僵尸环境变量 找出Crash原因( 僵尸断点 )
- 推荐算法:基于特征的推荐算法