范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

设计模式系列命令模式

  原创:花括号MC(微信公众号:huakuohao-mc),欢迎分享,转载请保留出处。
  命令模式是将"行为请求者"和"行为实现者"解耦开来。类似于我们通过开关控制家用电器。 举个例子
  我们通过遥控器开关控制空调的开关,具体空调是如何关闭的和打开的我们是不清楚也不关心的,我们只需要把空调开关的命令,通过空调遥控器发送出去就可以了。
  看一下 UML 图:
  来看一下代码是如何实现的
  先来定义一个抽象的 Command 类public abstract class AirConditionCommand {     abstract void execute(); }
  定义一个空调类,也就是命令的最终接收者,具体的命令接收者,实现各种具体的命令。 //命令的接收者 public class AirCondition {      public void on(){         System.out.println("AirCondition is On");     }      public void off(){         System.out.println("AirCondition is Off ");     } }
  打开空调的命令类,继承自抽象的 Command 类public class AirConditionOnCommand extends AirConditionCommand {     //关联具体命令接收者     AirCondition airCondition;      public AirConditionOnCommand(AirCondition airCondition) {         this.airCondition = airCondition;     }      @Override     void execute() {         airCondition.on();     } }
  定义空调遥控器,直接使用空调打开命令 public class AirConditionControl {      AirConditionCommand airConditionCommand;      public void setAirConditionCommand(AirConditionCommand airConditionCommand) {         this.airConditionCommand = airConditionCommand;     }      public void buttonOn(){         //直接调用空调打开命令         airConditionCommand.execute();     } }
  客户端这样使用 public class CommandDemo {     public static void main(String[] args){         //invoker 命令调用者         AirConditionControl conditionControl = new AirConditionControl();         //请求的接收者         AirCondition airCondition = new AirCondition();         //创建一个命令,并把命令接收者传进去         AirConditionCommand commandOn = new AirConditionOnCommand(airCondition);         //将命令传给调用者         conditionControl.setAirConditionCommand(commandOn);         //通过开关打开空调         conditionControl.buttonOn();     } } 总结
  命令模式是行为模式之一,是使用频率比较高的一种模式,命令模式的关键就是把请求操作的对象和具体执行这个操作的对象分离开来,就像开关和空调一样。
  本文参考  https://www.tutorialspoint.com/design_pattern/command_pattern.htm

棉花不只有白色我科研人员开辟天然彩色棉培育新途径3月17日,记者从华中农业大学获悉,该校棉花遗传改良团队在国际植物学杂志植物生理学上刊发论文称,他们解析了一个海岛棉和陆地棉种间杂交获得的红色植株突变体的遗传机制,并利用纤维特异启省机器人科教协会空中机器人课堂开课啦东南网3月23日讯(本网记者张立庆)日前,记者从省机器人科教协会获悉,福建省小学生机器人基础知识线上课程普及活动即日起接受学校报名。本次活动旨在培养青少年钻研探究创新创造的科学精神断供的连锁反应持续激化,多家美企未能幸免,国际秩序受到挑战了解更多科技资讯尽在圈聊科技。今天跟大家聊一聊断供的连锁反应持续激化,多家美企未能幸免,国际秩序受到挑战!自从三月份以来,在一众科技企业当中,我们听得最多的就是,哪家企业又中断了和紫天科技拟将注册地从江苏迁往福建称为了互联网广告业务需要每经记者曾剑每经编辑魏官红3月23日下午,紫天科技(300280,SZ)公告称,拟变更公司名称注册地及修订公司章程。每日经济新闻记者注意到,紫天科技此番拟将公司注册地址从江苏变更为脑机接口技术再获突破,有望成下一代人机交互技术也是继VRAR之后下一代元宇宙入口今日重要性英国自然通讯杂志22日展示了一项神经科学研究,欧洲科学家团队使用计算机从脑信号解码字母的方法,让完全闭锁状态患者的脑信号被解锁,以实现交一亿像素!4820mAh电池8G256GB仅1399,这才是红米性价比机皇目前在国内手机品牌的销量最好的,大家都会想到vivo,OPPO,小米及华为,尤其是小米。说到小米手机,大家都会想到这几年口碑非常好,无论是在高端机型还是中低端机型销量不断增加,已经小米12Ultra五月来袭,有哪些亮点值得期待?小米12Pro发布有一段时间了,当时就有不少米粉纳闷,为啥去年小米11与11Ultra同期发布,今年小米12Ultra却并未与小米12,12Pro和12X一同现身?答案就是全新的骁很多人讲拍荷花得用中长焦镜头或微距镜头?难道小痰盂拍荷花会差吗?荷花池一般拍摄距离较远,用微距镜头拍花蕊,肯定是办不到的。如果拍荷花特写,70200镜头是最隹的选择。很多人讲拍荷花得用中长焦镜头或微距镜头?难道小痰盂拍荷花会差吗?对于这个问题,图片的水印怎么能在不影响原画的情况下去掉?感谢邀请。关注搞设计,一起搞设计。在日常工作生活中经常会遇到这种密密麻麻的半透明水印,那么有没有办法把它去掉呢?答案是有的。下面跟着搞设计一起来做一下把。首先在ps里打开这张图片选4088元起,华为P50E今日首销搭载骁龙778G4G芯片IT之家3月24日消息,华为在3月16举行了2022华为全屋智能及全场景新品春季发布会,余承东在此带来了华为P50E手机新品。华为P50E仅有两个版本,将于今日上午1008准时开售太阳究竟有多大有多重?张朝阳的物理课估算常见天文常量如何知道月球距离地球有多远?太阳的质量和半径有多大?3月25日12时,张朝阳的物理课第三十九期开播,搜狐创始人董事局主席兼CEO张朝阳坐镇搜狐视频直播间,从牛顿万有引力公式出发,通
中国视觉传感器市场深度分析与市场年度调研视觉传感器是整个机器视觉系统信息的直接来源,主要由一个或者两个图形传感器组成,有时还要配以光投射器及其他辅助设备。视觉传感器的主要功能是获取足够的机器视觉系统要处理的最原始图像。车833公里!我国光纤量子密钥分发距离创世界纪录中国科学技术大学郭光灿院士团队韩正甫教授及其合作者王双银振强何德勇陈巍等,近期实现833公里光纤量子密钥分发,将安全传输距离世界纪录提升了200余公里,向实现千公里陆基量子保密通信客观说,2022年,骁龙870落后了吗?把心放肚子里,高通骁龙870在2022年依然不会落后,小米12X绝对不是今年唯一的870手机,后面还有新机搭载这颗芯片,这充分说明不少手机厂家对这颗芯片还是很有信心的。说到这870金立还值得买吗?8500mAh大电池,8256G低至1499,当真实惠多少人还记得,在国产手机品牌中,有一个叫做金立的品牌?或许很多80后对这个手机品牌的印象是比较深的,当初这个品牌火爆的时候,基本上很多人都认识,销量也是国产手机品牌的担当。不过实话作为一个从事手机贴膜的工作者,可能比普通人略懂一些你觉得苹果手机和华为哪一个能更好用一点?苹果手机在我认为有以下几个优点一系统封闭式开发,会产生极小的运行内存垃圾,系统不卡顿,其余大部分软件符合条件的需收费下载,但对于大部分用户好智能制造时代,MESPCSERP的一体化智能制造时代,掘弃信息孤岛,实施信息集成化的技术,实现PCSMESERP三层架构的集成,已成为企业信息化建设发展的一种必然的选择。三层的企业信息集成ERPMESPCS在流程制造行业电池大王宁德时代2022新品发布,新能源汽车市场要变天虎年有娱据1月15日消息,宁德时代发布能量,换出来的海报,万亿电池之王宁德时代举兵发力智能电动汽车换电业务,有望横扫智能电动汽车用电模式,彻底改变电动汽车目前的里程焦虑,打造新一代英特尔i912900HK跑分评测数据出炉多核提升30今天,英特尔为外媒PCWorld提供了提前测试英特尔i912900HK笔记本处理器的机会。外媒使用微星GE76Raider旗舰游戏本进行了跑分测试。参数方面,i912900HK为6无论2B还是2C造车,华为都会跟德国迎面相碰,竞争还是合作?华为不造车之前有一个比较官方的解释是,车子作为德国国民经济生产的主体产业,如果华为造车的话,未来势必跟德国产生冲突,而影响当下与德国在电信领域的良好合作。毕竟就欧美整体而言,德国不为什么苹果手机平均寿命比安卓手机长?这3个原因,内行人才知道为什么苹果手机平均寿命比安卓手机长?这3个原因,内行人才知道中国真正进入移动通讯时代,应该是在1987年左右的时间,然后在这二十多年的时间里,手机变得越来越薄越来越大越来越智能化。苹果145元天价抹布补货上架,又被抢空了!都谁买了?感谢邀请根据苹果官网的显示,这款抛光布质地柔软,可安全有效地清洁各款Apple显示屏,包括Nanotexture纳米纹理玻璃面板,主要成分为尼龙和聚氨酯。其于去年10月上市,发售首