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

超简单网页制作模板宁波seo费用

超简单网页制作模板,宁波seo费用,学广告设计难不难,级a做爰片免费视网站看看简介 假设你有一个智能家居遥控器,上面有多个按钮,每个按钮对应不同的设备操作(如开灯、关灯、调空调温度)。 命令模式的解决方案是: 将每个操作(如“开灯”)封装成一个独立的命令对象&#x…

简介

假设你有一个智能家居遥控器,上面有多个按钮,每个按钮对应不同的设备操作(如开灯、关灯、调空调温度)。
命令模式的解决方案是:

  1. 将每个操作(如“开灯”)封装成一个独立的命令对象,包含执行和撤销方法。
  2. 遥控器(调用者)不直接控制设备,而是通过触发命令对象来间接操作设备。
  3. 你可以灵活地为按钮更换命令,甚至实现“一键多操作”或“撤销”功能。

适用场景

  1. 需要将请求发送者与接收者解耦(如菜单项触发不同操作)。
  2. 支持请求的排队、撤销/重做、日志记录(如文本编辑器的撤销功能)。
  3. 需要支持宏命令(一键执行多个命令)。

优点

  1. 解耦请求发送者和接收者,增强扩展性。
  2. 支持撤销、重做、事务等复杂操作。

缺点

  1. 每个命令需单独实现类,增加代码量。
  2. 复杂命令可能引入多层嵌套逻辑。

类图

在这里插入图片描述

代码

// 命令接口interface Command {void execute();void undo();}// 接收者:灯class Light {public void on() {System.out.println("灯已打开");}public void off() {System.out.println("灯已关闭");}}// 具体命令:开灯class LightOnCommand implements Command {private Light light;public LightOnCommand(Light light) {this.light = light;}@Overridepublic void execute() {light.on();}@Overridepublic void undo() {light.off();}}// 调用者:遥控器按钮class RemoteControl {private Command command;public void setCommand(Command command) {this.command = command;}public void pressButton() {command.execute();}public void pressUndo() {command.undo();}}// 客户端public class CommandDemo {public static void main(String[] args) {Light light = new Light();Command lightOn = new LightOnCommand(light);RemoteControl remote = new RemoteControl();remote.setCommand(lightOn);remote.pressButton();   // 执行命令remote.pressUndo();    // 撤销命令}}

应用场景

数据库事务中的操作可通过命令模式实现,支持执行与回滚。

import java.util.Stack;// 事务命令接口interface TransactionCommand {void execute();void rollback();}// 接收者:数据库操作class Database {public void insert(String data) {System.out.println("插入数据: " + data);}public void delete(String data) {System.out.println("删除数据: " + data);}}// 具体命令:插入操作class InsertCommand implements TransactionCommand {private Database db;private String data;public InsertCommand(Database db, String data) {this.db = db;this.data = data;}@Overridepublic void execute() {db.insert(data);}@Overridepublic void rollback() {db.delete(data);}}// 事务管理器(支持回滚)class TransactionManager {private Stack<TransactionCommand> history = new Stack<>();public void submit(TransactionCommand command) {command.execute();history.push(command);}public void rollbackAll() {while (!history.isEmpty()) {history.pop().rollback();}}}// 客户端public class TransactionDemo {public static void main(String[] args) {Database db = new Database();TransactionManager manager = new TransactionManager();manager.submit(new InsertCommand(db, "A"));manager.submit(new InsertCommand(db, "B"));System.out.println("\n回滚事务:");manager.rollbackAll();}}
http://www.dtcms.com/wzjs/349961.html

相关文章:

  • 网站程序上传完百度图片收录提交入口
  • 有哪些公司的网站做的比较好百度文库个人登录
  • 非洲做网站用哪里服务器好企业网站推广方案设计
  • 全运会网站的建设贵阳做网络推广的公司
  • 酒店网站建设与设计公司谷粉搜索谷歌搜索
  • 炎推小说推广下载百度seo推广免费
  • 网站建设可以入开发成本吗网络推广费用一般多少
  • 视频链接生成器在线制作seo网络推广哪家专业
  • mvc做的游戏网站代码新闻头条今日新闻下载
  • 梧州网站建设流程十堰seo
  • 数据库跟网站国内免费二级域名建站
  • 百度做网站的费用个人免费开发网站
  • 做网站 哪里发布传统营销
  • 免费下载教学设计的网站seo优化技术是什么
  • 网站页面太多是否做静态seo顾问服务公司站长
  • 做PPT不错的网站有哪些青岛百度代理公司
  • wordpress如何与QQ关联seo诊断站长
  • 网站免费模板制作关键词排名网络推广
  • 桂林企业网站建设谷歌商店下载安装
  • 怎么免费网做百度收录的网站发文章用哪个平台比较好
  • 移动端后台管理系统网站优化排名公司哪家好
  • 杭州企业做网站网络广告营销
  • 建设营销型网站广州北京网络推广外包公司排行
  • 不需要付费的网站快速收录网
  • 淘客手机网站模板产品设计公司
  • 大兴城乡建设委员会网站下线南宁seo外包服务商
  • 红桥天津网站建设seo教学免费课程霸屏
  • 北京平面设计网站手机打开国外网站app
  • wordpress记录用户ipseo外包收费
  • 昌邑网站建设青岛网站设计微动力