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

营销型 展示类网站模板编程培训

营销型 展示类网站模板,编程培训,wordpress二维码发布平台,长沙网站包年优化软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。 汇总目录链接&…

软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。

汇总目录链接:【玩转23种Java设计模式】学习目录汇总整理

文章目录

  • 一、简介
  • 二、实例
    • 1、命令接口(Command)
    • 2、灯(Light)
    • 3、打开灯的命令(LightOnCommand)
    • 4、关闭灯的命令(LightOffCommand)
    • 5、遥控器(RemoteControl)
    • 6、客户端(CommandPatternExample)
  • 三、总结
    • 1、优点
    • 2、缺点
    • 3、应用场景

一、简介

  命令模式(Command Pattern)是一种行为型设计模式,它将请求封装成对象,从而使得可以使用不同的请求、队列或日志来参数化其他对象,同时支持可撤销的操作。该模式的核心是将“请求”抽象为独立的对象,这样可以更灵活地设计系统的各个模块。

主要角色:

  • Command(命令接口):定义命令执行的接口。
  • ConcreteCommand(具体命令类):实现命令接口,绑定一个接收者并实现具体的动作。
  • Invoker(调用者):持有命令对象并触发执行。
  • Client(客户端):创建命令对象并设置其接收者和调用者。

二、实例

例如:模拟智能家居中的灯光控制场景。

1、命令接口(Command)

interface Command {void execute();void undo();
}

2、灯(Light)

class Light {public void on() {System.out.println("The light is ON.");}public void off() {System.out.println("The light is OFF.");}
}

3、打开灯的命令(LightOnCommand)

class LightOnCommand implements Command {private Light light;public LightOnCommand(Light light) {this.light = light;}@Overridepublic void execute() {light.on();}@Overridepublic void undo() {light.off();}
}

4、关闭灯的命令(LightOffCommand)

class LightOffCommand implements Command {private Light light;public LightOffCommand(Light light) {this.light = light;}@Overridepublic void execute() {light.off();}@Overridepublic void undo() {light.on();}
}

5、遥控器(RemoteControl)

class RemoteControl {private Command command;public void setCommand(Command command) {this.command = command;}public void pressButton() {command.execute();}public void pressUndo() {command.undo();}
}

6、客户端(CommandPatternExample)

public class CommandPatternExample {public static void main(String[] args) {Light livingRoomLight = new Light();Command lightOn = new LightOnCommand(livingRoomLight);Command lightOff = new LightOffCommand(livingRoomLight);RemoteControl remote = new RemoteControl();// 打开灯remote.setCommand(lightOn);remote.pressButton();// 撤销操作remote.pressUndo();// 关闭灯remote.setCommand(lightOff);remote.pressButton();// 撤销操作remote.pressUndo();}
}

三、总结

1、优点

  • 解耦请求与实现:命令模式将请求的发送者和接收者解耦,使得发送者无需知道接收者的具体实现。
  • 支持撤销与重做:通过在命令类中添加撤销逻辑,可以轻松实现撤销和重做功能。
  • 灵活扩展:可以很方便地新增命令,而不需要修改现有代码。

2、缺点

  • 命令类较多:对于每一个具体操作都需要一个命令类,增加了类的数量和系统复杂性。
  • 请求链复杂:如果命令链较长,可能会导致请求的跟踪和管理变得困难。

3、应用场景

  • 事务性操作:例如数据库操作的撤销和重做。
  • 任务队列系统:将操作排队执行,例如打印队列、任务调度。
  • GUI开发:按钮的点击事件可以通过命令模式封装。
  • 日志记录:记录每个命令的执行,便于系统回滚或重做操作。
http://www.15wanjia.com/news/181447.html

相关文章:

  • 网站的常用建设技术有哪些旅行社网站建设方案
  • 做照片用的视频模板下载网站公司怎么在百度做网站
  • 网站销售怎么样的家庭办厂3一8万项目
  • 如何开发自己的网站做媛网站
  • 网站不稳定新浪网站首页
  • 南宁商城网站推广公司长沙制作网站
  • 网站是如何做的好两个路由器做双网站
  • php招投标网站源码宠物网站推广怎么做
  • 58同城网站建设的不足西安工业设计公司
  • 小网站关键词重庆游戏公司
  • 高端品牌网站制作十大网站建设公司
  • 江门制作公司网站福田欧曼官网
  • 网站设计制作教程企业网站的建设企业
  • 温州市建设工程质量安全管理总站上线了做的网站可以登陆
  • 哪几个网站适合自己做外贸沈阳app制作网站建设推
  • 东莞网站建设网络公司排名机械网站建设价格
  • 工业设计代做网站大连网页制作wordpress
  • 建设有限公司网站做婚纱网站的目的
  • 网站建设外包合同模板国内crm软件排名
  • 英文网站建设推广下载建网站
  • 做er图的网站wordpress 安装新主题
  • 专做五金正品的网站西安到北京高铁几小时
  • 工信和信息化部网站网站的标签
  • 个人网站例子定制小程序开发公司
  • 做的比较唯美的网站做机械设计的网站
  • 新网站在谷歌上面怎么做推广顺义网站开发
  • 单页网站设计制作怎么查看网页的源代码
  • 山西省住房建设厅网站广州营销型网站制作
  • 做网站用什么软件语言购物网站开发大纲
  • 洛阳网站开发公司建站系统主要包括企业网站系统