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

安徽城乡住房建设厅网站重庆网站seo多少钱

安徽城乡住房建设厅网站,重庆网站seo多少钱,wordpress 换中文字体,企业网站 联系我们概念#xff1a; 命令模式是一种行为设计模式#xff0c;它将请求封装成一个对象#xff0c;从而允许您将不同的请求参数化、队列化#xff0c;并且能够在不同的时间点执行。通过引入命令对象#xff08;Command#xff09;来解耦发送者#xff08;Invoker#xff09;…概念 命令模式是一种行为设计模式它将请求封装成一个对象从而允许您将不同的请求参数化、队列化并且能够在不同的时间点执行。通过引入命令对象Command来解耦发送者Invoker和接收者Receiver使得发送者无需知道具体的接收者或操作细节。命令对象封装了一系列操作并提供了一个统一的方法如execute()以便调用这些操作。 特点 解耦性命令模式将发送者与接收者之间解耦使得它们可以独立演化。可扩展性可以方便地添加新的命令类和接收类而无需修改现有代码。可撤销/重做由于每个命令都包含了执行和撤销操作因此可以轻松地实现撤销、重做等功能。容易组合多个简单命令可以组合成复杂命令在需要时进行灵活组合。 优点 降低系统的耦合度。发送者与接收者之间不存在直接关联关系。更好地支持撤销、重做等功能。每个具体命令断言了相关操作及其撤销操作。更好地支持日志和事务。可以记录命令的执行过程以及在需要时进行回滚。 缺点 可能会导致类爆炸。每个具体命令都需要一个对应的接收者类。命令模式增加了系统的复杂性因为它引入了额外的抽象层次。 适用场景 需要将请求参数化、队列滑并希望能够在不同时间执行。需要支持撤销、重做等功能。需要实现日志记录、事务管理等功能。 实现方式 定义一个抽象命令Command接口或抽象类其中包含一个execute()方法用于执行命令。创建具体命令类实现抽象命令接口或继承抽象命令类并在其中编写具体操作逻辑及其撤销逻辑。定义接收者Receiver类该类包含真正执行操作的方法。创建调用者Invoker对象在其中维护一系列命令对象并通过调用execute()方法来触发相应的操作。 实现代码 import java.util.ArrayList; import java.util.List;// 抽象命令接口 interface Command {void execute(); }// 具体命令类1 class ConcreteCommand1 implements Command {private Receiver receiver;public ConcreteCommand1(Receiver receiver) {this.receiver receiver;}Overridepublic void execute() {receiver.action1();} }// 具体命令类2 class ConcreteCommand2 implements Command {private Receiver receiver;public ConcreteCommand2(Receiver receiver) {this.receiver receiver;}Overridepublic void execute() {receiver.action2();} }// 接收者类 class Receiver {public void action1() {System.out.println(执行操作1);}public void action2() {System.out.println(执行操作2);} }// 调用者类/发送者类/Invoker类 class Invoker {private ListCommand commands new ArrayList();// 添加命令到队列中public void addCommand(Command command) {commands.add(command);}// 执行所有的命令public void executeCommands() {for (Command command : commands) {command.execute();}commands.clear(); // 清空已执行的命令列表可选操作。} }public class Main {public static void main(String[] args) {// 创建接收者对象Receiver receiver new Receiver();// 创建具体命令对象并指定接收者Command command1 new ConcreteCommand1(receiver);Command command2 new ConcreteCommand2(receiver);// 创建调用者对象并添加命令到队列中Invoker invoker new Invoker();invoker.addCommand(command1);invoker.addCommand(command2);// 执行所有命令invoker.executeCommands();}}在上述代码中我们定义了一个抽象的Command接口其中包含了一个execute()方法。然后创建了两个具体的命令类ConcreteCommand1和ConcreteCommand2它们实现了Command接口并重写了execute()方法。这些具体的命令类将调用接收者类中的不同操作。 在接收者类中我们定义了两个操作action1()和action2()。 最后我们创建了一个调用者类/发送者类/Invoker类。它维护一个命令队列并提供添加命令和执行所有命令的方法。当调用执行所有命令的方法时它会依次执行每个命令。 通过使用命令模式可以将请求发送方与接收方解耦并且可以轻松地添加新的具体命令而无需修改现有代码。此外由于每个具体的命令都是独立封装的对象因此可以轻松地进行参数化配置和传递。
http://www.hkea.cn/news/14566917/

相关文章:

  • wordpress怎么重新初始化百度seo和sem的区别
  • 网站构架图怎么做云龙徐州网站开发
  • 做网站交互效果用什么软件大学生网页设计心得体会
  • 网站开发之美北京国税局网站官网入口
  • asp.net网站发布到虚拟主机郴州新网二手房出售
  • 环保科技东莞网站建设企业网站的建设与实现论文
  • 虚拟主机销售网站鹤壁市网站建设
  • 网站流量指标有哪些做设计需要知道的几个网站
  • 企业内部网站模板下载关于做外汇现货的网站
  • 成都做网站做的好的公司电商网站开发平台实验
  • 做网站的是什么工种找人做网站都需要提供什么
  • 电子商务网站建设系统特点长沙房价走势最新消息
  • 企业网站怎么建立app开发过程中的困难
  • 惠民县建设网站大家都用哪个网站做读书笔记
  • 伍佰亿是什么网站内蒙古建设工程造价信息网官网
  • 兰州新区农投建设网站资源软件库
  • 外贸网站建设厦门南沙做网站
  • 甘肃 网站建设 开发 app投票网站源码php
  • 陕西网站制作qq群石佛营网站建设
  • seo优化网站技术排名百度推广企业网站的基本功能有哪些
  • 网站建设思想重视不够网站分几种类型
  • 开发软件网站建设asp网站开发实例pdf
  • 网站建设的广告语html网页爱心代码
  • 怎样看网站的浏览量eclipse 网站开发源码
  • 展示型网站和官网wordpress自定义统计
  • 网站横幅代码建设企业网站怎么样
  • 网站名称注册保护嵌入式开发手软件
  • python 做网站很快吗昆山市建设监察大队官方网站
  • 长治网站建设电话频繁从一个网站链接到另一个网站会影响百度收录么
  • 建站之星怎么免费做网站百度一下百度网站