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

网站专业优化公司娄底网站建设是什么

网站专业优化公司,娄底网站建设是什么,做网站去哪找,青海省建设局网站首页嗨#xff0c;您好#xff01; 今天#xff0c;我将与您分享一种非常出色的编程设计模式。 它有很多用法#xff0c;是我的最爱之一。 编程设计模式命令具有多种用例。 在这篇文章中#xff0c;我们将看到如何实现现实世界中的某些东西。 我们将使用电子汽车钥匙来打开您好 今天我将与您分享一种非常出色的编程设计模式。 它有很多用法是我的最爱之一。 编程设计模式命令具有多种用例。 在这篇文章中我们将看到如何实现现实世界中的某些东西。 我们将使用电子汽车钥匙来打开关闭门启用禁用警报打开关闭车库门或打开和关闭汽车的引擎盖和行李箱。 我将向您展示的示例是一个非常普通的示例因此您随时可以回到这里并在您的应用程序中使用它。 UML命令模式 如您所知我总是通过在UML图上显示类图来启动项目。 这有助于我们以一种精巧紧凑的方式修复该示例的概述。 解释细节编程设计 我们的客户是法拉利车主FerrariCleint。 它有一个CarKey。 CarKey具有可通过命令配置的通用MicroShipInvolker。 命令OpenDoorCommand本身具有要执行的动作DoorAction。 CarKey可以配置do和undo命令。 NullObjectCommand属于Null对象设计模式并且还将在此处使用。 现在让我们在代码中查看实现细节。 指挥与微舰 NullObjectCommand在这里用于避免空指针异常并且只要未定义任何命令就什么都不执行。 public interface Command {void execute(); } public class MicroChip {protected Command[] onCommands;protected Command[] offCommands;public MicroChip(int commandQuantity) {onCommands new Command[commandQuantity];offCommands new Command[commandQuantity];Command nullObjecCommand new NullObjectCommand();for (int i 0; i commandQuantity; i) {onCommands[i]nullObjecCommand;offCommands[i]nullObjecCommand;}}public void configureCommand(int position, Command on, Command off){onCommands[position]on;offCommands[position]off;}public void executeOnCommand(int position){onCommands[position].execute();}public void executeOffCommand(int position){offCommands[position].execute();}protected class NullObjectCommand implements Command{Overridepublic void execute() {// NULL-OBJECT-PATTERN}} }具体的命令和动作 在这里我们可以看到Actions和Commands的具体实现。 public class Door {public void on(){System.out.println(Opening car doors...);}public void off(){System.out.println(Closing car doors...);} } public class OpenDoorCommand implements Command {private Door door;public OpenDoorCommand(Door door) {this.door door;}Overridepublic void execute() {door.on();} } public class CloseDoorCommand implements Command {private Door door;public CloseDoorCommand(Door door) {this.door door;}Overridepublic void execute() {door.off();} }通用微型船 如您在这里看到的此实现或此MicroShip可以容纳所需数量的命令并且可以在您可能需要的任何情况下重用。 在此MicroShip波纹管中我只实现了上面的OpenDoorCommand和CloseDoorCommand因此您可以看到它的强大功能。 像我一样您还可以执行其他命令。这很酷的事情是执行和撤消操作的能力。 创建所需数量的命令并执行所需的动作。 这种图案的简单和美丽使我着迷。 public class CarKey {private MicroChip microChip;public CarKey() {final int commandQuantity 5;microChip new MicroChip(commandQuantity);final Hood hood new Hood();final OpenHoodCommand openHoodCmd new OpenHoodCommand(hood);final CloseHoodCommand closeHoodCmd new CloseHoodCommand(hood);microChip.configureCommand(0, openHoodCmd, closeHoodCmd);final Door door new Door();final OpenDoorCommand openDoorCmd new OpenDoorCommand(door);final CloseDoorCommand closeDoorCmd new CloseDoorCommand(door);microChip.configureCommand(1, openDoorCmd, closeDoorCmd);final Garage garage new Garage();final OpenGarageCommand openGarageCmd new OpenGarageCommand(garage);final CloseGarageCommand closeGarageCmd new CloseGarageCommand(garage);microChip.configureCommand(2, openGarageCmd, closeGarageCmd);final Trunk trunk new Trunk();final OpenTrunkCommand openTrunkCmd new OpenTrunkCommand(trunk);final CloseTrunkCommand closeTrunkCmd new CloseTrunkCommand(trunk);microChip.configureCommand(3, openTrunkCmd, closeTrunkCmd);final Alarm alarm new Alarm();final EnableAlarmCommand enableAlarmCmd new EnableAlarmCommand(alarm);final DisableAlarmCommand disableAlarmCmd new DisableAlarmCommand(alarm);microChip.configureCommand(4, enableAlarmCmd, disableAlarmCmd);}public void openHood(){microChip.executeOnCommand(0);}public void closeHood(){microChip.executeOffCommand(0);}public void openDoor(){microChip.executeOnCommand(1);}public void closeDoor(){microChip.executeOffCommand(1);}public void openGarage(){microChip.executeOnCommand(2);}public void closeGarage(){microChip.executeOffCommand(2);}public void openTrunk(){microChip.executeOnCommand(3);}public void closeTrunk(){microChip.executeOffCommand(3);}public void enableAlarm(){microChip.executeOnCommand(4);}public void disableAlarm(){microChip.executeOffCommand(4);}}法拉利客户 最后我们可以看到这种漂亮的设计模式的用法和功能。 在此示例中我实现了多个命令来向您展示它的外观。 public class FerrariClient {public static void main(String[] args) {final CarKey ferrariSwitchbladeKey new CarKey();ferrariSwitchbladeKey.openHood();ferrariSwitchbladeKey.openGarage();ferrariSwitchbladeKey.openTrunk();ferrariSwitchbladeKey.openDoor();ferrariSwitchbladeKey.enableAlarm();System.out.println(-------------------------------);ferrariSwitchbladeKey.closeHood();ferrariSwitchbladeKey.closeGarage();ferrariSwitchbladeKey.closeTrunk();ferrariSwitchbladeKey.closeDoor();ferrariSwitchbladeKey.disableAlarm();} } 就这样。 希望你喜欢 翻译自: https://www.javacodegeeks.com/2014/08/command-design-pattern-applied.html
http://www.zqtcl.cn/news/317043/

相关文章:

  • 做jsp网站时怎么预览wordpress安装不上
  • 网站建设深圳官网怎么制作网站镜像
  • 弹幕网站开发难么招生网站建设的意义
  • 网站空间多大合适软件开发培训机构网课
  • 13个实用平面设计网站网络推广一个月的收入
  • 淮安企业网站制作校园网网络规划与设计方案
  • html完整网站开发自媒体平台账号注册
  • 厦门seo网站网站空间 群集
  • 青岛网站推广方案营销自动化平台
  • 管理信息系统与网站建设有什么区别python版wordpress
  • 济南市建设行政主管部门网站公众号登录入口官网
  • 深圳苏州企业网站建设服务企业做网站需要什么条件
  • 电脑什么网站可以做长图攻略公众号 微网站开发
  • 网站核检单怎么用小皮创建网站
  • 企业网站托管平台有哪些烟台高新区建设局网站
  • 石家庄网站做网站和县网页定制
  • 网站个人备案和企业备案潍坊公司注册网站
  • 建个网站的流程互联网裁员
  • 设置网站模板汉口网站建设公司
  • 网站对一个关键词做排名怎么做网站建设 图纸网
  • 什么网站比较吸引流量网页设计代码td
  • 克隆网站怎么做后台wordpress网站缩
  • 仁怀哪儿做网站泰安市建设局
  • 做网站和编程有关系吗手机怎么做电子书下载网站
  • 网站做关键词排名网站快速排名的方法
  • 有网站模板如何预览泉州app开发
  • 网站自助建站系统重庆皇华建设集团有限公司网站
  • 云速成美站做网站好吗汕头制作网站
  • 搜狗搜索网站提交入口在哪里做卖车网站
  • 河南省百城建设提质网站新人怎么做电商