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

网站婚庆模板网站内链工作做足

网站婚庆模板,网站内链工作做足,网站建设网页制作软件有哪些,金蝶库存管理软件前言 命令模式的关键通过将请求封装成一个对象#xff0c;使命令的发送者和接收者解耦。这种方式能更方便地添加新的命令#xff0c;如执行命令的排队、延迟、撤销和重做等操作。 代码 #region 基础的命令模式 //命令#xff08;抽象类#xff09; public abstract class …前言 命令模式的关键通过将请求封装成一个对象使命令的发送者和接收者解耦。这种方式能更方便地添加新的命令如执行命令的排队、延迟、撤销和重做等操作。 代码 #region 基础的命令模式 //命令抽象类 public abstract class Command {public abstract void Execute(); } //发送命令 public class SendCommand : Command {private Receiver receiver;public SendCommand(Receiver receiver){this.receiver receiver;}public override void Execute(){receiver.Execute();} } //接收命令 public class Receiver {public void Execute(){Console.WriteLine(receiver execute the command...);} } //调用者命令 public class Invoker {private Command command;public void SetCommand(Command command){this.command command;}public void ExecuteCommand(){command.Execute();} } #endregion#region 添加新的命令模式 //新命令 public class NewCommand : Command {private NewReceiver newReceiver;public NewCommand(NewReceiver newReceiver){this.newReceiver newReceiver;}public override void Execute(){newReceiver.Execute();} } //使用新接收者 public class NewReceiver {public void Execute(){Console.WriteLine(new reveiver execute the newCommand...);} }#endregion#region 命令的请求的排队和延迟执行 //命令执行者 public class CommandInvoker {private ListCommand commandQueue new ListCommand();public void AddCommand(Command command){commandQueue.Add(command);}public void ExecuteCommands(){foreach (Command command in commandQueue){command.Execute();}commandQueue.Clear();}public void DelayExecute(Command command,int delay){Console.WriteLine($等待开始....时间{delay}ms);new Thread(() {Console.WriteLine($延时执行开始);Thread.Sleep(delay);command.Execute();Console.WriteLine($finish time:{Environment.NewLine}{DateTime.Now.ToString(HH:mm:ss fff)});Console.WriteLine($延时执行完毕...);}).Start();} } #endregion#region 命令撤销和重做操作 public interface ICommand {void Execute();void Undo(); }public class HistoryCommand : ICommand {private HistoryReceiver historyReceiver;public HistoryCommand(HistoryReceiver historyReceiver){this.historyReceiver historyReceiver;}public void Execute(){historyReceiver.Execute();}public void Undo(){historyReceiver.UndoExecute();} }public class HistoryReceiver {public void Execute(){Console.WriteLine(history receiver executes the command...);}public void UndoExecute(){Console.WriteLine(history receiver undoes the command...);} } public class HistoryInvoker {private StackICommand commandStack new StackICommand();public void ExecuteCommand(ICommand command){command.Execute();commandStack.Push(command);}public void Undo(){if (commandStack.Count 0){ICommand command commandStack.Pop();Console.WriteLine(command Undo);command.Undo();}else{Console.WriteLine(No commands to undo.);}}public void Redo(){if (commandStack.Count0){ICommand command commandStack.Peek();Console.WriteLine(command Redo);command.Execute();}else{Console.WriteLine(No commands to redo.);}} }/** 行为型模式Behavioral Pattern* 命令模型Command Pattern*/internal class Program{static void Main(string[] args){//命令模式简单实现Receiver receiver new Receiver();Command sendCommand new SendCommand(receiver);Invoker invoker new Invoker();invoker.SetCommand(sendCommand);invoker.ExecuteCommand();Console.WriteLine(添加新命令------------------------------------);// 命令模式添加新命令NewReceiver newReceiver new NewReceiver();Command newCommand new NewCommand(newReceiver);invoker.SetCommand(newCommand);invoker.ExecuteCommand();Console.WriteLine(请求队列------------------------------------);//命令模式请求队列Receiver receiver1 new Receiver();Command command1 new SendCommand(receiver1);Command command2 new SendCommand(receiver1);CommandInvoker commandInvoker new CommandInvoker();commandInvoker.AddCommand(command1);commandInvoker.AddCommand(command2);commandInvoker.ExecuteCommands();Console.WriteLine(延时执行------------------------------------);Console.WriteLine(${DateTime.Now.ToString(HH:mm:ss fff)});//命令模式延时执行commandInvoker.DelayExecute(command1,1000);Console.WriteLine(准备撤销重做------------------------------------);HistoryReceiver historyReceiver new HistoryReceiver();ICommand command3 new HistoryCommand(historyReceiver);ICommand command4 new HistoryCommand(historyReceiver);HistoryInvoker historyInvoker new HistoryInvoker();historyInvoker.ExecuteCommand(command3);historyInvoker.ExecuteCommand(command4);Console.WriteLine(执行撤销重做------------------------------------);//撤销最后一个命令historyInvoker.Undo();historyInvoker.Undo();//重做最后一个撤销命令historyInvoker.Redo();Console.WriteLine(END------------------------------------);Console.ReadLine();}} #endregion运行结果
http://www.hkea.cn/news/14379675/

相关文章:

  • 网站设计师图片北京推广优化
  • jsp网站开发心得怎样利用网站做引流
  • 大兴网站建设服务公司网站右下角视频代码
  • 芜湖网站建设 文库如何逐步提升网站权重
  • 做网站竞价没有点击率医院可以做网站吗
  • 电商网站建设浩森宇特适合乡镇开的十五种店
  • 网站风格设计视觉双流区规划局建设局网站
  • 沈阳营销型网站制作技术微信小程序开发实战
  • 成都建设网站标化最新表格网站建设要准备的内容
  • 档案网站建设对比logo在线编辑器
  • 免费网站建设哪家好泰安房产网官网
  • 济南网站网站建设《传奇世界》官网
  • 新闻单位建设网站的意义网页平面设计模板
  • emlog怎么做视频网站wordpress自建菜单
  • aspsqlserver做网站wordpress显示所有文章列表
  • 网页美工设计主要从哪些方面设计seo外包公司优化
  • 如何建设考研网站wordpress网站布置视频
  • 小说网站怎么建设wap网站怎么做
  • 网站导航页面制作wordpress自动 插件
  • 电脑做系统ppt下载网站好郑州网站制作公司汉狮
  • 网站建设 协议书做网站运营需要学的东西
  • 模板网站 知乎写作网站5妙不写就删除
  • 静安建设机械网站网站建设教程讲解
  • 网站原创文章来源wordpress+程序优化
  • 上海自助建站系统手机怎么做网站免费的
  • 徐水住房建设局网站wordpress主题修改软件
  • 设计师网站建设厅网站集约化建设
  • 成都建站优化妻子2018高清免费视频
  • o2o网站建设服务网站推广关键词排名
  • 建设网站还不如搬砖wordpress用户排行