/// <summary> /// 命令模式 /// </summary> static void Command() { Console.WriteLine($"命令模式{Environment.NewLine}-------------------------------------------"); Television tv = new Television(); //创建电视机对象(命令的接收者) ICommand tvOpen = new TvOpenCommand(tv); //创建开机命令 ICommand tvClose = new TvCloseCommand(tv); //创建关机命令 Button button = new Button(tvOpen); //创建开机按钮(命令的调用者) button.Click(); //执行命令 button.Command = tvClose; //将按钮功能变更为关机 button.Click(); //执行命令 Console.ReadKey(); }
/// <summary> /// 宏命令 /// </summary> static void MacorCommand() { Console.WriteLine($"命令模式 -> 宏命令{Environment.NewLine}-------------------------------------------"); Television tv = new Television(); //电视对象(命令接收者) AirConditioner ac = new AirConditioner(); //空调对象(命令接收者) TvOpenCommand tvOpenCommand = new TvOpenCommand(tv); //电视开机命令 AcOpenCommand acOpenCommand = new AcOpenCommand(ac); //空调开机命令 MacorCommand macorCommand = new MacorCommand(); //宏命令 macorCommand.Commands.Add(tvOpenCommand); //设置宏命令 macorCommand.Commands.Add(acOpenCommand); //设置宏命令 Button button = new Button(macorCommand); //创建宏按钮 button.Click(); //执行命令 Console.ReadKey(); }