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

聊城建设局网站可以直接进入的舆情网站

聊城建设局网站,可以直接进入的舆情网站,简历下载免费模板,医院网站建设需要多少钱目录 定义模式结构角色职责代码实现适用场景优缺点 定义 命令模式(Command Pattern) 又叫动作模式或事务模式。指的是将一个请求封装成一个对象,使发出请求的责任和执行请求的责任分割开,然后可以使用不同的请求把客户端参数化&a…

目录

  • 定义
  • 模式结构
  • 角色职责
  • 代码实现
  • 适用场景
  • 优缺点

定义

命令模式(Command Pattern) 又叫动作模式或事务模式。指的是将一个请求封装成一个对象,使发出请求的责任和执行请求的责任分割开,然后可以使用不同的请求把客户端参数化,这样可以使得两者之间通过命令对象进行沟通,从而方便将命令对象进行储存、传递、调用、增加与管理。命令模式是一种对象行为型模式。

模式结构

在这里插入图片描述

角色职责

1、抽象命令类(Command): 命令的抽象类,类中对需要执行的命令进行声明,一般来说要对外公布一个execute方法用来执行命令。

2、具体命令类(Concrete Command): 抽象命令类的具体实现子类,对抽象类中声明的方法进行实现。

3、调用类(Invoker): 调用者,负责调用命令,执行命令功能的相关操作,是具体命令对象业务的真正实现者。

4、接受类(Receiver): 接收者,负责接收命令并且执行命令,是请求的发送者,它通常拥有很多的命令对象,并通过访问命令对象来执行相关请求,它不直接访问接收者。

代码实现

抽象命令类:

interface Command {public abstract void execute();
}

具体命令类:

public class ConcreteCommand implements Command {private Receiver receive;public ConcreteCommand() {receive = new Receiver();}@Overridepublic void execute() {receive.action();}
}

调用类:

public class Invoker {private Command command;public Invoker(Command command) {this.command = command;}public void setCommand(Command command) {this.command = command;}public  void call(){System.out.println("调用者执行命令command...");command.execute();}
}

接受类:

public class Receiver {public void action() {System.out.println("接收者的action()方法被调用...");}
}

测试方法:

public class CommandPattern {public static void main(String[] args) {Command command = new ConcreteCommand();Invoker invoker = new Invoker(command);System.out.println("客户访问调用者的call()方法");invoker.call();}
}

打印结果:

客户访问调用者的call()方法
调用者执行命令command...
接收者的action()方法被调用...

适用场景

优缺点

优点:
1.低耦合: 命令模式使得发起命令的对象——客户端,和具体实现命令的对象——接收者对象完全解耦,也就是说发起命令的对象完全不知道具体实现对象是谁,也不知道如何实现。
2.动态控制:命令模式把请求封装起来,可以动态地对它进行参数化、队列化和日志化等操作,从而使得系统更灵活。
很自然的复合命令:命令模式中的命令对象能够很容易地组合成复合命令,如宏命令,从而使系统操作更简单,功能更强大。
3.易扩展性: 由于发起命令的对象和具体的实现完全解耦,因此扩展新的命令就很容易,只需要实现新的命令对象,然后在装配的时候,把具体的实现对象设置到命令对象中,然后就可以使用这个命令对象,已有的实现完全不用变化。
缺点:
1.一般如果拓展性好的同时会带来显著的缺点就是复杂,代码多,会有大量具体的命令类。命令模式同样的,如果命令很多的话,代码量就比较多。使用命令模式,不用管命令多简单,都需要写一个命令类来封装。
在这里插入图片描述

http://www.15wanjia.com/news/193409.html

相关文章:

  • 站长工具在线查询自己做网站处理图片用什么软件下载
  • 网站建设方案下载短视频app成品搭建源码免费
  • 阿里云怎么部署网站威县网站建设代理价格
  • 江苏住房与城乡建设厅网站网站是什么
  • 哪有专做飞织鞋面的网站面馆装修设计
  • wordpress插件+手机版网站建设公司十年乐云seo
  • 外贸网站都有那些建设银行网站怎么修改手机号码吗
  • 做网站可以干嘛win7 iis部署网站
  • 自己做的网站访问不了哪个网站有做视频转场的素材
  • 青浦区网站建设费用东莞网站优化专家
  • 学做网站多久能学会网络规划建设方案
  • 杭州做企业网站的公司中囯联通腾迅
  • 微网站开发外包全网推广代运营
  • server 2008 iis部署网站济南网站建设凡科
  • 大型门户网站建设效果wordpress中的钩子
  • 做图模板下载网站做字幕网站有哪些
  • 建行官方网站首页wordpress没有页脚
  • 网站免费推广的方法支持wordpress
  • 义乌建设网站制作免费申请qq账号
  • 电子商务网站平台建设费用北京造价员变更在哪个网站做
  • 网站负责人最新注册网址查询
  • 汽车之家官方网站网站创建人是
  • 网站营销单页怎么设计方案200网址大全
  • 电子商务网站策划 ppt自己做网站如何赚钱吗
  • 单位网站建设服务微信网站建设方案ppt
  • 是用cms还是直接用语言写网站wordpress 主题汉化包
  • 各大网站投放广告怎么做wordpress邮件群发
  • 有谁用2008做网站服务器建设工程图审管理信息系统网站
  • 亚马逊网站建设做什么密云郑州阳网站建设
  • 北京住房建设官方网站网站关键词排名优化应该怎么做