Command Pattern

原创 2004年08月02日 20:57:00

原文:http://www.c-sharpcorner.com/Code/2002/Mar/CommandPatternsInCSCKU.asp

//File Name: ICommand.cs
using System;
public interface ICommand
{
 void Execute();
}

//File Name : DVDPlayCommand.cs
using System;
public class DVDPlayCommand : ICommand
{
 public DVDPlayCommand()
 {
 }

 public void Execute()
 {
  Console.WriteLine("DVD Started.");
 }
}

//File Name: DVDStopCommand.cs
using System;
public class DVDStopCommand : ICommand
{
 public DVDStopCommand()
 {
 }

 public void Execute()
 {
  Console.WriteLine("DVD Stopped.");
 }
}

//File Name: VCRPlayCommand.cs
using System;
public class VCRPlayCommand : ICommand
{
 public VCRPlayCommand()
 {
 }

 public void Execute()
 {
  Console.WriteLine("VCR Started.");
 }
}

//File Name: VCRStopCommand.cs
using System;
public class VCRStopCommand : ICommand
{
 public VCRStopCommand()
 {
 }

 public void Execute()
 {
  Console.WriteLine("VCR Stopped.");
 }
}

//File Name: Romote.cs
using System;
public class Remote
{
 public Remote()
 {
 }

 public void Invoke(ICommand cmd)
 {
  Console.WriteLine("Incoking......");
  cmd.Execute();
 }
}

//File Name: Client.cs
using System;
public class Client
{
 public Client()
 {
 }

 public static int Main(string[] args)
 {
  // Instantiate the invoker object
  Remote remote = new Remote();
  
  // Instantiate DVD related commands and pass them to invoker object
  DVDPalyCommand dvdPlayCommand = new DVDPlayCommand();
  remote.Invoke(dvdPalyCommand);
  
  DVDStopCommand dvdStopCommand = new DVDStopCommand();
  remote.Invoke(dvdStopCommand);

  // Instantiate VCR related Commands and pass them to invoker object
  VCRPlayCommand vcrPlayCommand = new VCRPlayCommand();
  remote.Invoke(vcrPlayCommand);
  
  VCRStopCommand vcrStopCommand = new VCRStopCommand();
  remote.Invoke(vcrStopCommand);
  return 0;
 }
}

命令模式(Command Pattern)(一):命令模式介绍

一、意图              将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。 二、适用性 ...
  • jialinqiang
  • jialinqiang
  • 2013年05月18日 23:16
  • 2839

设计模式-----COMMAND模式

COMMAND模式是最简单,最优雅的设计模式之一。COMMAND模式的使用范围非常宽广。 COMMAND模式通过对命令的封装接触了系统的逻辑互联关系和实际连接的设备之间的耦合。简单的说就是COMMA...
  • u013812682
  • u013812682
  • 2016年11月28日 16:44
  • 275

命令模式【Command Pattern 】

幸福就是回来看书,看自己想看的书。   博客地址  http://blog.csdn.net/ftx2540993425   下面横线以上内容是借鉴别人的,为了表达对作者的敬意,不做不恰当...
  • ftx2540993425
  • ftx2540993425
  • 2016年01月04日 19:05
  • 214

命令模式(Command Pattern)

1命令模式是一个高内聚的模式。 定义如下:将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。   2.角色说明: ● R...
  • onlyyjco
  • onlyyjco
  • 2016年09月11日 15:04
  • 171

命令模式(Command Pattern)

1.概念   将来自客户端的请求传入一个对象,从而使你可用不同的请求对客户进行参数化。用于“行为请求者”与“行为实现者”解耦,可实现二者之间的松耦合,以便适应变化。分离变化与不变的因素。 ...
  • qq_23174861
  • qq_23174861
  • 2016年06月14日 14:07
  • 109

命令模式(Command Pattern)

一、什么是命令模式? 概念:将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化;对请求排队或记录日志,以及支持可撤销的操作动机:将”发出请求的对象”和”接收与执行这些请求的对象”分隔开来。...
  • u013126379
  • u013126379
  • 2016年08月08日 10:41
  • 243

命令模式(Command Pattern)

命令模式(Command pattern),将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 别名 动作(Action),事务(Tr...
  • jiangxt211
  • jiangxt211
  • 2015年11月30日 23:26
  • 113

命令模式【Command Pattern】

今天讲命令模式,这个模式从名字上看就很简单,命令嘛,老大发命令,小兵执行就是了,确实是这个意思,但是更深化了,用模式来描述真是是世界的命令情况。正在看这本书的你,我猜测分为两类:已经工作的和没有工作的...
  • u011694328
  • u011694328
  • 2016年09月19日 17:08
  • 215

命令模式(Command Pattern)

命令模式:将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作 案例:用户和多调节灯案例,并且用栈实现多撤销 代码:图里面没有...
  • wyzxk888
  • wyzxk888
  • 2013年07月03日 15:56
  • 674

餐馆那些事之:Command Pattern

分类: Design Pattern2012-02-14 03:04 1493人阅读 评论(1) 收藏 举报 1. 概述 Composite Pattern是一种非常优雅的模式,实际使用中...
  • pi9nc
  • pi9nc
  • 2013年01月15日 11:18
  • 465
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Command Pattern
举报原因:
原因补充:

(最多只允许输入30个字)