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

做网站的服务器带宽一般多少网络营销包括哪些

做网站的服务器带宽一般多少,网络营销包括哪些,cms适合做什么网站,wordpress左右滑动插件命令模式(Command Pattern) 定义 命令模式是对命令的封装,每一个命令都是一个操作:请求的一方发出请求要求执行一个操作;接收的一方收到请求,并执行操作。 命令模式解耦了请求方和接收方,请求…

命令模式(Command Pattern)

定义

命令模式是对命令的封装,每一个命令都是一个操作:请求的一方发出请求要求执行一个操作;接收的一方收到请求,并执行操作。
命令模式解耦了请求方和接收方,请求方只需请求执行命令,不用关心命令是怎样被接收,怎样被操作以及是否被执行等。

命令模式是将请求封装成一个对象,这样可以使用不同的请求参数化其他对象(依赖注入),并且能够支持请求的排队执行、记录日志、撤销等功能。

本质:解耦命令请求与处理。

属于行为型模式。

适用场景

命令模式的适用场景
1.实现语义中的“命令”的操作(如命令菜单,shell命令)
2.请求调用者和请求的接收者需要解耦,使得调用者和接收者不直接交互。
3.需要抽象出等待执行的行为,比如撤销(undo)和恢复(redo)等操作。
4.需要支持命令宏(及命令组合操作)

标准示例

在这里插入图片描述

ICommand 命令接口;
ConcreteCommand 具体命令实现类;
Invoker 调用类,构造方法入参为 ICommand,它的execute方法,实际调用的是传入对象的 cmd.execute()
Receiver 接收类,只有一个方法action
调用类和接收类通过ConcreteCommand 实现了解耦。

具体代码如下:

//命令接口
public interface ICommand {void execute();
}
//具体命令接口
public class ConcreteCommand implements ICommand{//每个命令对应一个不同的receiverprivate Receiver receiver = new Receiver();@Overridepublic void execute() {receiver.action();}
}
/*** 调用者*/
public class Invoker {private ICommand cmd;public Invoker(ICommand cmd){this.cmd = cmd;}public void execute(){this.cmd.execute();}
}
/*** 接收者*/
public class Receiver {public void action(){System.out.println("执行动作");}
}
public class ClientTest {public static void main(String[] args) {ICommand cmd = new ConcreteCommand();Invoker invoker = new Invoker(cmd);invoker.execute();}
}

生活中也有很多命令模式的例子。
比如遥控器:它把我们的请求和设备的执行做了解耦,将请求和执行做了分离。
比如餐厅点菜单:客人按照菜单点菜,后厨根据菜单配菜做菜,菜单就是个解耦的介质,将请求和执行做了解耦,可以达到灵活扩展的目的。
下面举个智能空调的例子:

现在的空调,都支持APP操控了。这必然就涉及到 设备与服务器 的交互。
我们现在定义2个接口:
设备注册设备心跳上送

我们使用命令模式来实现这四个接口。
相应的类为:
ICommandAbstractCommand
RegistCommandHeartbeatCommand
Invoker
Receiver


ICommand

public interface ICommand {void execute();
}

AbstractCommand

public abstract class AbstractCommand implements ICommand {protected Receiver receiver = new Receiver();
}

RegistCommand

public class RegistCommand extends AbstractCommand {public void execute() {receiver.registAction();}
}
public class HeartbeatCommand extends AbstractCommand {public void execute() {receiver.heartbeatAction();}
}

Receiver

public class Receiver {public void registAction(){System.out.println("regist ...");}public void heartbeatAction(){System.out.println("heartbeat ...");}
}

Invoker

public class Invoker {public void execute(ICommand command){command.execute();}
}

ClientTest

public class ClientTest {public static void main(String[] args) {Invoker invoker = new Invoker();invoker.execute(new RegistCommand());Invoker invoker1 = new Invoker();invoker1.execute(new HeartbeatCommand());}
}

执行结果:

regist ...
heartbeat ...

以上就是命令模式全部内容,感谢阅读。

http://www.khdw.cn/news/69768.html

相关文章:

  • 山西企业网站建设推广优化排名
  • 在家做网站维护兼职精准营销的三要素
  • 个人 网站建设方案书 备案网络营销策划的流程
  • wordpress转换appseo在线优化网站
  • 赣州企业网站建设淘宝运营主要做些什么
  • 网站建设 广州游戏优化大师
  • 做网站运营还是翻译模板免费下载网站
  • 丽水企业网站开发企业百度西安
  • 煤炭网站建设企业seo怎么推广
  • php网站开发兼容怎么设置小红书seo排名帝搜软件
  • 一个域名绑定多个网站吗网页设计主要做什么
  • 做go富集的网站seo诊断分析工具
  • 做电影网站用什么程序郑州seo地址
  • 网站开发制作流程seo超级外链工具
  • 哪里 教做网站带维护此网站三天换一次域名
  • vR网站建设程序磁力宅
  • 大连网站建设大连网站seo如何优化
  • 义乌专业做网站百度分析
  • 如何使用wordpress建站网络营销策划推广方案
  • 潍坊网站建设公司电话磁力多多
  • 电子商务模拟实训报告企业网站建设0元免费做代理
  • 贵州省住房和建设厅网网站网络营销的主要内容有哪些
  • 做的好的日本网站设计seo是搜索引擎优化吗
  • 家庭宽带 做网站免费制作网页平台
  • 做动效的网站搜索引擎优化seo公司
  • wordpress代刷网网站优化哪家好
  • 网站管理登录系统百度推广一条资源多少钱
  • 安徽和住房建设厅网站软文广告是什么意思
  • 网站建设代理百中搜优化
  • 汉口做网站自制网站