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

宁波公司做网站企业内网搭建要多少钱

宁波公司做网站,企业内网搭建要多少钱,网站建设流量从哪里来,安徽省交通运输厅章义目录 一、前言 二、命令模式 三、总结 一、前言 命令模式#xff08;Command Pattern#xff09;是一种行为型设计模式#xff0c;命令模式将一个请求封装为一个对象#xff0c;从而可以用不同的请求对客户进行参数化#xff1b;对请求排队或记录请求日志#xff0c;以…目录 一、前言 二、命令模式 三、总结 一、前言 命令模式Command Pattern是一种行为型设计模式命令模式将一个请求封装为一个对象从而可以用不同的请求对客户进行参数化对请求排队或记录请求日志以及支持可撤销的操作。  命令模式由以下角色组成 Command(命令) 该角色定义了执行操作的接口。通常包含一个执行操作的方法如 execute()。命令对象可能会携带执行操作所需的参数。 Concrete Command具体命令 该角色实现了命令接口对具体的操作进行了实现。具体命令对象将一个接收者对象绑定到一个动作并负责调用接收者的相应方法来执行请求。 Receiver接收者 该角色实际执行操作的对象。命令对象会将请求委托给接收者来执行实际的操作。 Invoker/Client调用者/客户端 该角色创建命令对象并将其发送给接收者。调用者不需要了解命令是如何执行的它只需要发送请求。 整个命令模式的结构图 二、命令模式 比如在餐馆就餐我们会先向服务员点单下单后服务员通知后厨进行制作这种就可以用命令模式进行演示。Receiver可以当做是具体制作食物的厨师Invoker可以当做是服务员进行调用Command理解成每一个菜单也就是发出的命令。 先创建厨师Receiver类 public class Receiver {public void actionOne(){System.out.println(制作食物one);}public void actionTwo(){System.out.println(制作食物two);}public void actionThree(){System.out.println(制作食物three);} }创建抽象命令Command public interface Command {void execute(); }创建菜单具体的命令 public class ConcreteCommandOne implements Command{private Receiver receiver;public ConcreteCommandOne(Receiver receiver) {this.receiver receiver;}Overridepublic void execute() {receiver.actionOne();} }public class ConcreteCommandTwo implements Command{private Receiver receiver;public ConcreteCommandTwo(Receiver receiver) {this.receiver receiver;}Overridepublic void execute() {receiver.actionTwo();} }public class ConcreteCommandThree implements Command{private Receiver receiver;public ConcreteCommandThree(Receiver receiver) {this.receiver receiver;}Overridepublic void execute() {receiver.actionThree();} } 创建服务员Invoker类 public class Invoker {private ListCommand commands new ArrayList();public void setCommand(Command command){commands.add(command);}public void removeCommand(Command command){commands.remove(command);System.err.println(取消订单);}public void call(){for (Command command : commands){command.execute();}} } 客户端调用类 public class Client {public static void main(String[] args) {Receiver receiver new Receiver();Command commandOne new ConcreteCommandOne(receiver);Command commandTwo new ConcreteCommandTwo(receiver);Command commandThree new ConcreteCommandThree(receiver);Invoker invoker new Invoker();invoker.setCommand(commandOne);invoker.setCommand(commandTwo);invoker.setCommand(commandThree);invoker.removeCommand(commandTwo);invoker.call();} } 执行结果 可以看出client创建不同的命令通过invoker将命令设置进去也可以通过invoker取消命令最后invoker通知进行调用。 三、总结 优点与缺点 优点 解耦请求发送者和接收者 命名模式将请求封装成一个对象使得发送者和接收者之间的解耦程度增加。发送者只需要知道如何发送命令而不需要了解命令是如何被执行的。 支持撤销和重做操作 由于命令对象封装了对接收者的调用因此可以轻松地实现撤销和重做操作只需保留历史命令对象即可。 增加新的命令 通过添加新的命令类可以轻松地扩展命令模式而无需修改现有的客户端代码。 支持组合命令 可以通过组合多个命令对象来执行复杂的操作从而实现更高级的功能。 缺点 类爆炸 在系统中可能会产生大量的具体命令类如果命令种类过多可能会导致类爆炸增加系统的复杂性。 增加调试难度 由于命令模式涉及多个对象之间的交互因此调试可能会变得更加复杂。 应用场景 GUI应用程序 命令模式常用于实现菜单和工具栏按钮的操作。每个菜单项或按钮可以表示一个命令当用户点击时该命令将被执行。 任务队列 命令模式可以用于实现任务队列例如在操作系统中可以将用户的操作封装成命令对象然后将它们放入队列中以便逐个执行。 日志系统 命令模式可以用于实现日志系统将所有操作封装成命令对象并在执行时记录相关的日志信息。 撤销/重做功能 命令模式很适合实现撤销和重做功能因为每个命令对象都可以保存执行时的状态从而支持撤销和重做操作。
http://www.w-s-a.com/news/827503/

相关文章:

  • 新乡移动网站建设wordpress输出某一分类的文章
  • 花店网站开发设计的项目结构重庆网站建设培训班
  • 做网站的技术体系投资者互动平台官网
  • 北京网站建设公司哪家实惠企查查在线查询入口
  • 毕业设计做网站怎么样非微信官方网页自己做的网站
  • 昆明网站多端小程序设计重庆市住房和城乡建设厅网站
  • 网站制作技术人员国际新闻最新10条
  • 做同城特价的网站wordpress后台能修改模板文件
  • 网站信息可以边建设边组织产品展示网站源码php
  • 电子商务网站规划从哪些方面入手途牛企业网站建设方案
  • 莱阳网站定制易语言可以做网站嘛
  • 购物网站开发意义上海中小企业服务中心官网
  • 网站备案证书如何打开江苏网站建设电话
  • 深圳网站建设乐云seo搜索引擎优化seo目的
  • 中山城市建设集团网站网站建设设计基础
  • 网站开发流程莆田wordpress点播收费
  • 网站未及时续费浙江台州做网站的公司有哪些
  • 二级域名做网站好不好河源建网站
  • 公司网站的作用意义维护建设管理天津平台网站建设费用
  • 建设部网站如何下载国标规范上海影视公司
  • 企业官方网站地址通了网站建设
  • 专题网站可以做什么怎么做网站滑动图片部分h5
  • 什么是网站建设外包html 门户网站
  • 资阳市建设局网站微信开发公司
  • wap建站程序源码可不可以异地建设网站
  • 优秀企业网站的特点网站标签名词
  • 建材网站建设案例淄博网站建设培训
  • 纯代码添加wordpress网站底部导航宝塔自助建站源码
  • 网站设计技术有哪些?青岛网站建设工作室
  • 网站怎样建设才叫人性化宣传