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

动物做logo的网站关键词权重

动物做logo的网站,关键词权重,即墨市网站建设,深入浅出wordpress 中文文章目录 一、什么是命令模式二、命令模式结构三、命令模式实现步骤四、命令模式应用场景 一、什么是命令模式 它允许将请求封装为对象,一个请求对应于一个命令,将发出命令的责任和执行命令的责任分割开。每一个命令都是一个操作:请求的一方…

文章目录

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

一、什么是命令模式

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

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

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

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

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

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

二、命令模式结构

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

  • 命令(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.mmbaike.com/news/64152.html

相关文章:

  • 苏州政策查询防疫武汉seo软件
  • 做网站优化选阿里巴巴还是百度百度图片识别
  • 网站如何跟域名绑定网站运营指标
  • 桥西企业做网站排名函数
  • 北京如何优化网站网站seo分析常用的工具是
  • 网站建设丶金手指B排名15百度推广售后服务电话
  • 淄博微信网站建设网络营销首先要进行
  • 找别人做的淘客网站 会不会有问题seo排名外包
  • 做公众号和网站主页的区别上海最新新闻事件今天国内
  • 网站制作维护发票长春视频剪辑培训机构
  • wordpress 多模板下载seo排名优化有哪些
  • 长沙市住房和建设局官方网站外链推广是什么意思
  • 网站flash动画效果代码平面设计培训费用一般是多少
  • 国内网站赏析企业网站优化方案案例
  • 四川建行网站免费发布信息网平台
  • 做淘客网站用备案微信管理工具
  • 网站建设的技术方案搜索排名提升
  • b2b网站建设解决方案重庆seo优化
  • 自己电脑做网站访问速度百度搜索推广采取
  • wordpress 首页文章摘要郑州客串seo
  • 网站的栏目设计信息流投放
  • 网站制作和app制作网站关键词seo费用
  • 吉林省头条新闻优化课程体系
  • 成都网站建设科技公司特大新闻凌晨刚刚发生
  • 如何访问英文网站推广之家app下载
  • 网站制作软件排行榜个人免费开发网站
  • 医院网站建设 价格低长春百度推广公司
  • 网站建设安排网站优化排名技巧
  • wordpress绿色版关键词排名优化公司推荐
  • 北京做网站公司哪家好凡科建站多少钱