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

南京广告宣传公司seo如何seo网站

南京广告宣传公司seo,如何seo网站,网站建设询价函,网站建设公司怀化简介 请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的对象进行执行。命令模式是一种特殊的策略模式,体现多个策略执行的问题,而不是选择的问题 UML图 应用场景 界面选择、键盘、按钮、事件操作都类似命令模式 …

简介

请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的对象进行执行。命令模式是一种特殊的策略模式,体现多个策略执行的问题,而不是选择的问题

UML图

在这里插入图片描述

应用场景
  • 界面选择、键盘、按钮、事件操作都类似命令模式

示例

电视遥控器、电视、观看电视的人

  1. 接收者:电视机
public class TVReceiver {public void on() {System.out.println("打开电视");}public void off() {System.out.println("关闭电视");}public void changeStation() {System.out.println("换台");}
}
  1. 命令(指令):
public interface Command {void excute();
}
public class OnCommand implements Command {private TVReceiver tvReceiver;public OnCommand(TVReceiver tvReceiver) {this.tvReceiver = tvReceiver;}@Overridepublic void excute() {System.out.println("onCommand----execute");tvReceiver.on();}
}
public class OffCommand implements Command {private TVReceiver tvReceiver;public OffCommand(TVReceiver tvReceiver) {this.tvReceiver = tvReceiver;}@Overridepublic void excute() {System.out.println("OffCommand----execute");tvReceiver.off();}
}
public class ChangeStationCommand implements Command {private TVReceiver tvReceiver;public ChangeStationCommand(TVReceiver tvReceiver) {this.tvReceiver = tvReceiver;}@Overridepublic void excute() {System.out.println("ChangeStationCommand----execute");tvReceiver.changeStation();}
}
  1. 调用者:观看者
public class Invoker {private OnCommand onCommand;private OffCommand offCommand;private ChangeStationCommand changeStationCommand;public OnCommand getOnCommand() {return onCommand;}public void setOnCommand(OnCommand onCommand) {this.onCommand = onCommand;}public OffCommand getOffCommand() {return offCommand;}public void setOffCommand(OffCommand offCommand) {this.offCommand = offCommand;}public ChangeStationCommand getChangeStationCommand() {return changeStationCommand;}public void setChangeStationCommand(ChangeStationCommand changeStationCommand) {this.changeStationCommand = changeStationCommand;}/*** 开*/public void on() {onCommand.excute();}/*** 关*/public void off() {offCommand.excute();}/*** 换台*/public void changeStation() {changeStationCommand.excute();}
}
  1. 运行
public class Main {public static void main(String[] args) {// 创建接收者(物品)TVReceiver tvReceiver = new TVReceiver();// 创建指令(遥控器)OnCommand onCommand = new OnCommand(tvReceiver);OffCommand offCommand = new OffCommand(tvReceiver);ChangeStationCommand changeStationCommand = new ChangeStationCommand(tvReceiver);// 创建使用者Invoker invoker = new Invoker();invoker.setOffCommand(offCommand);invoker.setOnCommand(onCommand);invoker.setChangeStationCommand(changeStationCommand);// 使用者作出指示invoker.on();System.out.println("------------");invoker.changeStation();System.out.println("------------");invoker.off();}
}

在这里插入图片描述

总结

  • 优点

    • 调用者对象与接受者对象没有任何依赖关系,降低了系统的耦合度
    • 方便新的命令添加至系统中,扩展性强
  • 缺点

    • 过多的命令会导致系统中存在过多的具体命令类
http://www.yayakq.cn/news/686786/

相关文章:

  • 定制产品网站有哪些wordpress user_activation_key
  • 台式机做网站服务器环球设计官网
  • wordpress 企业建站做网站要懂哪些
  • 营商环境建设局网站微信登录网址
  • 可以做视频剪辑兼职的网站网站开发用那个软件
  • 三河市网站建设传奇新开网站
  • 网站建设可上传视频的什么是前端开发技术
  • 哈尔滨网站建设报价价格图书网站开发介绍
  • 网站根目录是哪个文件夹网站建设方案的策划书
  • 软路由做网站wordpress企业 破解主题下载
  • 做啤酒最全的网站沈阳seo网站推广
  • 服务网站 建设原则旅游网站开发设计报告书
  • 网站开发手机模拟器宿迁房产网户型图
  • h5网站建设机构东莞网站建设电镀挂具
  • 个人网站优秀作品做网站能致富吗
  • 做防水怎样注册网站如何优化网站标题
  • 河南 网站开发网站流量统计分析工具
  • 高权重域名做网站深圳网站建设网站制作网站推广
  • 深圳网站托管正规网站做菠菜广告
  • wordpress论坛投票seo与sem的区别和联系
  • 二季域名做网站南昌网站建设q479185700惠
  • 做雇主品牌的网站西安网站制作机构
  • 西安商城网站搭建常见的网站空间有哪些
  • 静态网站培训wordpress 导入文章
  • 服装网站项目的设计方案论坛创建
  • 企业网站制作设计江阴高端网站建设
  • 东莞塘厦网站建设网页编辑排版
  • 邯郸网站建设品牌公司网站做聚合是啥意思
  • 建设网站需要多少钱济南兴田德润厉害吗西宁市网站建设高端
  • 网站流量钱是谁给的怎么免费搭建网站