当前位置: 首页 > news >正文

深圳市建设科技促进中心网站泰兴网站优化

深圳市建设科技促进中心网站,泰兴网站优化,相城seo网站优化软件,营销网络写在前面 本文看下命令设计模式。 1#xff1a;介绍 1.1#xff1a;什么时候使用命令设计模式 如果某个对象依赖于外部传入的具体参数来执行具体的操作时#xff0c;就可以考虑使用命令设计模式#xff0c;如空调的制冷#xff0c;制热#xff0c;小爱同学的唱歌介绍 1.1什么时候使用命令设计模式 如果某个对象依赖于外部传入的具体参数来执行具体的操作时就可以考虑使用命令设计模式如空调的制冷制热小爱同学的唱歌讲笑话等都是通过外部的具体指令发生的操作。 1.2UML类图 原型设计模式包含如下元素 1Receiver负责执行具体指令的类即能够执行特定操作的类 2Command命令抽象内部维护Receiver通过Recevier让命令最终变成具体的动作 3Invoker维护一组Command并执行这组指令 4客户端负责创建Invoker并设置相关需要执行的指令2实例 源码 。 2.1场景 小明家里有一台空调可以控制其制冷和制热有一个小爱同学可以控制其唱歌和讲笑话。 2.2程序 定义空调Receiver // 空调 public class AirConditionerReceiver {// 制冷public void cold() {System.out.println(空调制冷了);}// 制热public void hot() {System.out.println(空调制热了);} }定义小爱同学Receiver // 小爱同学 public class XiaoAiTongXueReceiver {// 唱歌public void sing() {System.out.println(小爱同学唱歌了);}// 讲笑话public void joke() {System.out.println(小爱同学讲笑话了);} }接着我们来定义用来执行空调制冷空调制热小爱同学唱歌小爱同学讲笑话的Command类首先定义接口 // 命令的抽象, public interface Command {void exec(); }各种执行具体动作的Command 一共四个分别是执行空调制冷的Command空调制热的Command小爱同学唱歌的Command小爱同学讲笑话的Command如下 // 制冷命令内部调用空调的制冷操作 public class ColdCommand implements Command {private AirConditionerReceiver receiver;public ColdCommand(AirConditionerReceiver receiver) {this.receiver receiver;}Overridepublic void exec() {this.receiver.cold();} }// 制热命令内部调用空调的制热操作 public class HotCommand implements Command {private AirConditionerReceiver receiver;public HotCommand(AirConditionerReceiver receiver) {this.receiver receiver;}Overridepublic void exec() {this.receiver.hot();} }// 唱歌命令内部调用小爱同学的唱歌 public class SingCommand implements Command {private XiaoAiTongXueReceiver xiaoAiTongXue;public SingCommand(XiaoAiTongXueReceiver xiaoAiTongXue) {this.xiaoAiTongXue xiaoAiTongXue;}Overridepublic void exec() {this.xiaoAiTongXue.sing();} }// 讲笑话命令内部调用小爱同学的讲笑话 public class JokeCommand implements Command {private XiaoAiTongXueReceiver xiaoAiTongXue;public JokeCommand(XiaoAiTongXueReceiver xiaoAiTongXue) {this.xiaoAiTongXue xiaoAiTongXue;}Overridepublic void exec() {this.xiaoAiTongXue.joke();} }定义Invoker 维护一组要执行的Command其中Command的设置由客户端完成 public class MyInvoker {// 自己用仅本类用private// 不可改变引用值 finalprivate final ListCommand commands new ArrayListCommand();// 设置一组命令由命令来完成具体的动作内部操作是如何完成的对用户是透明的public void addCommand(Command command) {this.commands.add(command);}// 执行命令public void execCommand() {commands.forEach(v - v.exec());} }客户端 public static void main(String[] args) {// 创建具体命令的执行者们AirConditionerReceiver airConditionerReceiver new AirConditionerReceiver();XiaoAiTongXueReceiver xiaoAiTongXueReceiver new XiaoAiTongXueReceiver();// 创建命令Command singCommand new SingCommand(xiaoAiTongXueReceiver);Command jokeCommand new JokeCommand(xiaoAiTongXueReceiver);Command coldCommand new ColdCommand(airConditionerReceiver);Command hotCommand new HotCommand(airConditionerReceiver);// 把命令添加到invokerMyInvoker myInvoker new MyInvoker();myInvoker.addCommand(singCommand);myInvoker.addCommand(jokeCommand);myInvoker.addCommand(hotCommand);myInvoker.addCommand(coldCommand);// 执行命令myInvoker.execCommand(); }运行 小爱同学唱歌了 小爱同学讲笑话了 空调制热了 空调制冷了写在后面 参考文章列表 秒懂设计模式之命令模式Command Pattern 。
http://www.yutouwan.com/news/479983/

相关文章:

  • 企业网站的常见服务做一个网站的策划方案
  • 网站开发用什么笔记本医疗机械网站怎么做
  • 做网站的视频教学焦作网站开发
  • 泰安网站建设xtempire广元市剑阁县建设局网站
  • 盐城网站开发厂商顶尖网站建设公司
  • 响应式网站用什么做建立网站的主要步骤
  • 动力网站html5制作手机网站教程
  • 南宁网站seo服务搜索引擎优化的内部优化
  • 甘肃省嘉峪关建设局网站泾川网站城镇建设规化图
  • 六安网站建设定制怎么开通公众号
  • 株洲市区网站建设公司app开发外包要多少钱
  • 企业网站建设设计公司医疗公司网站建设项目背景
  • 常熟做网站的中英文双语网站建设
  • 汽车门户网站有哪些东莞市招标网
  • 网站的线下推广怎么做网站地图创建
  • 淘宝客网站做app上海网站备案网站
  • 网站编译成dllapp线上推广
  • 商城网站需要多少钱wordpress主题 开发
  • 视频网站开发有哪些功能漯河知名网站建设价格
  • 优化网站做内链接php网站后台模板下载不了
  • 北京工程信息网站网站负责人照片
  • 网站源码授权国企建筑单位招聘信息
  • 一个专门做酒店招聘的网站自己做的网站打开太慢
  • seo1888网站建设android 旅游网站开发
  • 做网站的赢利点微博 分享 wordpress
  • 网站建设怎么加音乐宁波电子商务网站建设
  • 锡林郭勒盟建设局网站搜索引擎优化与关键词的关系
  • 东莞建设网官方网站当面付 wordpress
  • 网站建设php教程外贸单证
  • 青岛市北建设集团网站做网站展示软件