设计模式-命令

命令

命令是一个对象向另一个或多个对象发送的指令信息。命令的发送方负责下达指令,接收方则根据命令触发相应的行为。作为一种数据(指令信息)驱动的行为型设计模式,命令模式(Command)能够将指令信息封装成一个对象,并将此对象作为参数发送给接收方去执行,以使命令的请求方与执行方解耦,双方只通过传递各种命令过象来完成任务。此外,命令模式还支持命令的批量执行、顺序执行以及命令的反执行等操作。

1 对电灯的控制

现实生活中,命令模式随处可见,如遥控器对电视机发出的换台、调音量等指令;将军针对士兵执行进攻、撤退或者先退再进的任务所下达的一系列命令;餐厅中顾客为了让厨师按照自己的需求烹饪所需的菜品,需要与服务员确定的点菜单。除此之外,在进行数据库的增、删、改、查时,用户会向数据库发送SQL语句来执行相关操作,或提交回滚操作,这也与命令模式非常类似。我们先从一个简单的电灯控制系统入手,如图21-1所示。其中开关可被视为命令的发送(请求)方,而灯泡则对应为命令的执行方。我们先从命令执行方开始代码实战。灯泡类一定有这样2个行为:通电灯亮,断电灯灭,请参看代码清单1-1。

  public class Bulb {
   
 
      public 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yitian_hm

您的支持是我最大鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值