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

如何做网站关键词霸屏网站建设报价单

如何做网站关键词霸屏,网站建设报价单,网站开发海报,公司网站如何做二维码文章目录 一、什么是命令模式二、命令模式结构三、命令模式实现步骤四、命令模式应用场景 一、什么是命令模式 它允许将请求封装为对象,一个请求对应于一个命令,将发出命令的责任和执行命令的责任分割开。每一个命令都是一个操作:请求的一方…

文章目录

  • 一、什么是命令模式
  • 二、命令模式结构
  • 三、命令模式实现步骤
  • 四、命令模式应用场景

一、什么是命令模式

它允许将请求封装为对象,一个请求对应于一个命令,将发出命令的责任和执行命令的责任分割开。每一个命令都是一个操作:请求的一方发出请求要求执行一个操作;接收的一方收到请求,并执行相应的操作。命令模式允许请求的一方和接收的一方独立开来,使得请求的一方不必知道接收请求的一方的接口,更不必知道请求如何被接收、操作是否被执行、何时被执行,以及是怎么被执行的。命令模式使得请求可以排队、记录、日志、存储和重放。

命令模式的主要优点包括:

  • 降低系统的耦合度:由于请求者与接收者之间不存在直接引用,因此请求者与接收者之间实现完全解耦,相同的请求者可以对应不同的接收者,同样,相同的接收者也可以供不同的请求者使用,两者之间具有良好的独立性。
  • 新的命令可以很容易地添加到系统中:因为增加一个新的命令不会影响其他类,因此增加新的命令类很容易,无须修改原有系统类库的代码,甚至可以在不重新编译原有系统类库的情况下运行,即系统扩展性好。
  • 可以很容易地实现命令的撤销与恢复:只要把命令对象存储起来,在需要时调用执行即可实现命令的撤销与恢复,当然,这里的撤销与恢复并非撤销和重做命令所产生的结果,而是撤销与重放命令本身。
  • 在需要实现事务时,命令模式也有其独特的优点:当系统需要支持事务的时候,可以通过把命令对象放到一个事务队列中,等待系统处理事务的命令序列。

命令模式的主要缺点包括:

  • 可能导致某些系统有过多的具体命令类:因为针对每一个对请求接收者的调用操作都需要设计一个具体命令类,因此在某些系统中可能需要提供大量的具体命令类,这将影响命令模式的使用。

总的来说,命令模式是一种非常有用的设计模式,特别适用于需要将请求封装为对象、支持可撤销操作、或需要事务管理的场景。

二、命令模式结构

在这里插入图片描述
命令模式的主要参与者包括:

  • 命令(Command)接口:声明执行操作的接口。
  • 具体命令(ConcreteCommand)类:实现命令接口,将接收者的一个动作绑定其中。调用接收者相应的操作,以实现执行效果。
  • 请求者(Invoker):要求命令对象执行请求,通常会持有命令对象,可以持有很多的命令对象。这是真正发号施令者。
  • 接收者(Receiver):执行命令的对象。任何类都可能成为一个接收者,只要它能够实现命令要求实现的相应功能。
  • 客户端(Client):创建具体的命令对象,并且设置命令对象的接收者。在不是直接调用接收者的情况下,将命令对象传递给请求者来执行请求。

三、命令模式实现步骤

命令模式的实现步骤通常包括以下几个部分:

  • 定义命令接口
    首先,你需要定义一个命令接口,这个接口通常声明了一个执行方法(如execute())。例如,在Java中,你可以这样定义:
public interface Command {  void execute();  
}
  • 创建具体命令类
    然后,你需要创建具体的命令类,这些类实现了命令接口,并包含了接收者对象的引用。这些命令类将调用接收者的方法来完成实际的操作。
public class ConcreteCommand implements Command {  private Receiver receiver;  public ConcreteCommand(Receiver receiver) {  this.receiver = receiver;  }  @Override  public void execute() {  receiver.action(); // 调用接收者的方法  }  
}
  • 创建接收者
    接收者类通常包含实际要执行的操作。任何类都可以作为接收者,只要它能够执行命令所请求的操作。
public class Receiver {  public void action() {  // 执行操作  }  
}
  • 创建请求者
    请求者(Invoker)是发出命令请求的对象。它通常持有命令对象的引用,并可以通过调用命令对象的execute()方法来执行命令。
public class Invoker {  private Command command;  public Invoker(Command command) {  this.command = command;  }  public void call() {  command.execute(); // 调用命令的执行方法  }  
}
  • 在客户端中组装命令和接收者
    客户端负责创建具体的命令对象,并将接收者对象传递给命令对象。然后,客户端将命令对象传递给请求者,请求者通过调用命令对象的execute()方法来执行命令。
public class Client {  public static void main(String[] args) {  Receiver receiver = new Receiver();  Command command = new ConcreteCommand(receiver);  Invoker invoker = new Invoker(command);  invoker.call(); // 调用请求者的call方法,间接执行命令  }  
}

这就是命令模式的基本实现步骤。通过这种方式,你可以将请求者和接收者解耦,使得请求者不知道也不关心接收者的具体实现细节。同时,由于请求被封装为了命令对象,你可以很方便地对其进行存储、传递和组合等操作。

四、命令模式应用场景

http://www.ritt.cn/news/27819.html

相关文章:

  • 阳江网签免费网站分析seo报告是坑吗
  • 电商网站开发文献综述seo关键字优化教程
  • 使用vue做的购物网站seo百度发包工具
  • 重庆造价工程建设信息网站东莞公司网上推广
  • 湖南做网站 搜搜磐石网络推推蛙品牌策划
  • 大学帮学校做网站怎么寻找网站关键词并优化
  • 电子商务网站建设第一章课后搜狗提交入口网址
  • 企业网站建设招标技术标准刷排名有百度手机刷排名
  • 被称为网页制作三剑客的是陕西seo优化
  • 哪些网站权重高seo营销专员
  • 香港外贸网站建设网络建站公司
  • 洛阳又发现一例北京seo服务销售
  • 安全证四川省建设厅官方网站平原县网站seo优化排名
  • 电商网站如何做网站设计软件
  • 如何在搜索引擎做网站百度搜索推广方法
  • 郑州建站系统费用广州最新新闻事件
  • pageadmin授权和免费的区别seo自动优化软件
  • 国外有哪些网站可以做电商慈溪seo
  • 电脑可以做网站服务器吗今日国内重大新闻
  • 通用网址查询网站百度账号管理中心
  • lamp网站开发黄金组合中国企业500强最新排名
  • 定制网站设计全球新闻最新消息
  • 免费网站收录广州疫情最新情况
  • pc网站案例营销软文范例
  • 专注江苏网站建设重庆网站页面优化
  • 做垃圾网站 盈利干净无广告的搜索引擎
  • 简单网站开发实例教程职业技能培训网上平台
  • 直销公司现状湖南关键词优化排名推广
  • 一级站点和二级站点区别产品宣传
  • 新建一个公司官网系统优化app