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

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

  • 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);}@Overridepublic void execute() {this.trade.doBuy();}
}

  • SellTradeCommand
public class SellTradeCommand extends TradeCommand {public SellTradeCommand(Trade trade) {super(trade);}@Overridepublic 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();}
}

转载于:https://www.cnblogs.com/Fredric-2013/p/4573455.html

设计模式(命令模式)相关推荐

  1. Python设计模式-命令模式

    Python设计模式-命令模式 代码基于3.5.2,代码如下; #coding:utf-8 #命令模式class barbecuer():def bakeButton(self):print(&quo ...

  2. 设计模式 命令模式 实例_根据您的命令-命令设计模式

    设计模式 命令模式 实例 命令设计模式是一种广为人知的设计模式,属于行为设计模式("四人帮"的一部分). 顾名思义,它与应用程序中的动作和事件有关. 问题陈述: 假设有一个网页将在 ...

  3. C语言设计模式——命令模式

    C语言设计模式--命令模式 好处:让代码清晰明了,容易添加和删除,易维护. 哪些地方会用到命令模式?(列出几个常见的例子) 1.按键处理,每个按键按下得到一个索引(指的就是命令),一个按键对应一个处理 ...

  4. C语言实现设计模式—命令模式

    文章目录 C语言设计模式--命令模式 传统的实现方式如下:(伪代码) 命令模式优化 UML 用例说明 实现流程 command.h command.c main 总结 C语言设计模式--命令模式 好处 ...

  5. 游戏设计模式 - 命令模式在Unity中的应用(C#)

    游戏设计模式 - 命令模式在Unity中的应用(C#) 实测:这是一篇简单易懂的文章-> https://zhuanlan.zhihu.com/p/46937284

  6. C++设计模式——命令模式(command pattern)

    一.原理讲解 别名动作(action),事务(transaction). 1.1意图 将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作 ...

  7. [Head First设计模式]餐馆中的设计模式——命令模式

    系列文章 [Head First设计模式]山西面馆中的设计模式--装饰者模式 [Head First设计模式]山西面馆中的设计模式--观察者模式 [Head First设计模式]山西面馆中的设计模式- ...

  8. 小菜学设计模式——命令模式

    2019独角兽企业重金招聘Python工程师标准>>> 背景 外面小摊与店面的比较,你就会发现,店面似乎更加容易管理,为什么呢?因为在客户与老板自己新增了很多员工,这些员工各司其职, ...

  9. 设计模式 命令模式 之 管理智能家电

    继续设计模式哈,今天带来命令模式,二话不说,先看定义: 定义:将"请求"封装成对象,以便使用不同的请求.队列或者日志来参数化其他对象.命令模式也支持可撤销的操作. 这尼玛定义,看得 ...

  10. 设计模式- 命令模式

    Gof定义 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化:对请求排队或记录请求日志,以及支持可撤销的操作. 理解 对命令模式我有一些肤浅的认识,也许是不对的.但我还是写一下.其实在 ...

最新文章

  1. 整数中内存中的保存方式:大端、小端
  2. semantic segmentation 和instance segmentation
  3. 脑机交互可提高行动能力
  4. 万词霸屏的本质是什么?
  5. Celery 启动报错 can_read() got an unexpected keyword argument timeout
  6. image打开rgb16 qt_QT中显示图像数据
  7. linux qt yuv,c – 如何使用Qt中的RGBA32数据将带有YUV数据...
  8. nacos 本地测试_Nacos入门
  9. 按新的退休年龄计算,64年的职工应该是哪年退休呢?
  10. 物联网(IoT)会是广告欺诈的一道后门
  11. Linux下的目录简介
  12. 第二章 springboot+mybatis
  13. Idea搭建SpringCloud(四)------利用Feign实现负载均衡
  14. STM32 USART 多摩川编码器调试
  15. 局域网怎么添加新的计算机用户,如何添加局域网
  16. edge如何导入html文件收藏夹,win10系统edge浏览器收藏夹导入/导出的操作方法
  17. linux内核带rt,Ubuntu18.04安装PREEMPT_RT实时内核
  18. win7系统安装信息服务器不可用怎么办,win7系统rpc服务器不可用怎么办
  19. [乐意黎原创]PHP启用session后抛 session_start(): open(/var/lib/php/session/sess_... 的解决办法
  20. ncist网络空间安全专业护网方向认知实习笔记2021.12 DAY1.2

热门文章

  1. javascript系列--javascript数组的常用算法解析
  2. 云宏大讲坛 | 容器的前世今生
  3. KVO-基本使用方法-底层原理探究-自定义KVO-对容器类的监听
  4. RabbitMQ code=200, text=Goodbye比较萌新的问题大佬绕道,乌拉~!
  5. Git 最佳实践:分支管理
  6. iOS11 UITableViewCell滑动事件改动
  7. Bootstrap导航栏
  8. 【Qt学习笔记】7.对话框Dialog
  9. centos7;windows下安装和使用spice
  10. Scala2.11.7学习笔记(二)函数定义