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

深圳专业做网站案例中国著名的个人网站

深圳专业做网站案例,中国著名的个人网站,网站建设可行性研究,东莞建站怎么做java命令模式在本教程中#xff0c;我们将学习命令模式#xff0c;这是一种重要的行为设计模式。 它具有一些重要的应用程序#xff0c;例如在文本编辑器中实现撤消/重做功能。 在命令设计模式中#xff0c;有一个命令对象位于发送方和接收方对象之间。 发送者对象可以创建… java命令模式 在本教程中我们将学习命令模式这是一种重要的行为设计模式。 它具有一些重要的应用程序例如在文本编辑器中实现撤消/重做功能。 在命令设计模式中有一个命令对象位于发送方和接收方对象之间。 发送者对象可以创建命令对象。 然后命令对象在接收器中调用暴露的方法。 因此发送方对象不需要了解接收方及其公开的方法。 我们还有另一个称为调用程序的对象。 调用程序是负责调用适当的命令对象以完成任务的对象。 我们还可以使用命令管理器来跟踪调用和操纵命令。 为什么要使用命令设计模式 命令模式有一些流行的用例 存储和调度请求我们可以将请求表示为命令对象然后可以通过事件触发器将其存储在列表中在特定时间进行操纵排队或完成。 例如可以通过将警报振铃表示为命令对象并在事件触发器上执行警报振铃功能来实现 支持完成/撤消命令模式使我们能够执行或撤消命令执行的操作 由于每个命令对象都支持do / undo操作因此我们可以扩展此功能以设计文本编辑器的do / undo操作。 这个想法是有两个命令对象列表– 历史记录和重做列表 历史记录列表包含到目前为止已执行的所有命令 另一方面 重做列表存储我们撤消的命令 对于每个命令请求都会创建执行命令对象然后将其添加到历史记录列表中 在撤消请求时我们将检查并在历史记录列表中的最新命令上调用撤消操作然后将该命令放在重做列表中 对于重做操作我们将使用重做列表上的最新命令即最近撤消的命令然后执行该命令并将其再次移至历史记录列表 听起来很简单吧 UML表示形式 我们可以将命令设计模式表示为 我们在哪里 命令定义命令对象操作的接口或抽象类。 ConcreteCommand这些是包含特定命令实际实现的具体类 接收器命令类调用接收器以执行请求的操作 调用者向客户公开的类。 负责调用适当的命令 此外每个命令类通常都提供以下方法的实现 execute定义应该完成的工作 unexecute这是负责撤消操作的方法 isReversible如果可以撤消命令则此方法应返回true 否则返回false 示例实现 假设我们必须为文本编辑器实现剪切复制粘贴功能。 因此我们首先定义Command接口 public interface Command {void execute();void unexecute();default boolean isReversible() {return true;} } 另外假设我们有一个支持文本插入和删除的Document类 //class which will be our Receiver public class Document {public void insert(String str, int position) {...}public String delete(int position, int noOfChars) {...}public void copy(int position, int noOfChars) {...} }编写具体命令 现在我们将定义CutCommand类 public class CutCommand implements Command {private Document doc;private String text;private int startPosition;private int noOfChars;//suitable constructorpublic void execute() {this.text this.doc.delete(startPosition, noOfChars);}public void unexecute() {this.doc.insert(text, startPosition);} } 我们还定义其他两个命令类 public class CopyCommand implements Command {private Document doc;private int startPosition;private int length;//suitable constructorpublic void execute() {this.doc.copy(startPosition, length);}public void unexecute() {System.out.println(Uncopy operation is blocked);}public boolean isReversible() { return false; } }public class PasteCommand implements Command {private Document doc;private String text;private int startPosition;//suitable constructorpublic void execute() {this.doc.insert(text, startPosition);}public void unexecute() {this.doc.delete(startPosition, text.length());} } 众所周知取消复制不是有效的操作我们在CopyCommand类的isReversible方法中返回了false 。 实施调用者 最后我们可以编写一个调用程序类 public class DocumentInvoker {private Document document;private CommandManager commandManager;public DocumentInvoker(Document document) {this.document document;commandManager CommandManage.getInstance();}public void cut(int position, int length) {Command cutCommand new CutCommand(document, position, length);commandManager.invoke(cutCommand);}public void copy(int position, int length) {Command copyCommand new CopyCommand(document, position, length);commandManager.invoke(copyCommand);}public void paste(String text, int position) {Command pasteCommand new PasteCommand(document, text, position);commandManager.invoke(pasteCommand);}} 在这里 CommandManager是管理历史记录和重做列表的类。 调用程序使用所需的信息实例化命令对象然后调用命令管理器以最终执行操作。 结论 在本教程中我们学习了如何在Java中实现命令设计模式。 由于发送方不需要了解任何有关接收方的信息因此可以促进松散耦合并且可以简单地调用操作。 翻译自: https://www.javacodegeeks.com/2019/09/command-design-pattern-in-java.htmljava命令模式
http://www.huolong8.cn/news/246996/

相关文章:

  • 汕头关键词优化服务怎么给别人做网站优化
  • 中国档案网站建设现状研究网站的漂浮广告怎么做
  • 淘宝做代销在哪个网站上进货比较好在id打开wordpress
  • 顺昌网站建设wzjseo搜索引擎营销的实现方法有
  • 做视频网站的服务器无锡网站广优化公司
  • 请多记几个本站域名防止失联网站前端开发
  • 做一个网站需要服务器吗购物网站排名2015
  • 北京市建设规划网站在线玩网页游戏
  • 配置 tomcat 做网站微信小程序怎么做商城
  • 网站建设规划方案模板做固定背景网站
  • 做的好的音乐网站的特点iis发布php网站
  • 广州网站营销推广设计网站添加百度搜索
  • iis 5 新建网站深圳市建设工程交易服
  • 凡科网免费做网站网站建设的技术有哪些方面
  • 邳州做网站旅行志 wordpress
  • 江苏弘盛建设工程集团有限公司网站合肥百度seo排名
  • 重庆网络技术有限公司WordPress中文seo
  • 网站建设丶金手指花总13优秀网站 要素
  • dw做的网站怎么上传wordpress 增加表
  • 夏天做哪个网站致富茶叶包装设计
  • 做网站费用 优帮云动漫做视频在线观看网站
  • 中国建设网官方网站地址做微信表情的微信官方网站
  • 云南省建设厅网站大江网站建设
  • 江苏弘盛建设工程集团有限公司网站接广告的平台推荐
  • 19年做哪个网站致富挂机宝做网站可以吗
  • 网站注册域名 免费番禺人才网参考资料答案
  • 网站建设服务费用网页版梦幻西游决战华山攻略
  • 网站头图设计网上注册公司流程及材料
  • 南县网站制作做营销型网站服务
  • 德州加盟网站建设免费logo在线制作工具