首页 命令模式-

命令模式-

举报
开通vip

命令模式-nullThe Command Pattern 命令模式The Command Pattern 命令模式09软工4班要解决的问题要解决的问题有时需要向对象发送请求,但是不知道“被请求的操作”或“请求的接收者”的任何信息。 在面向过程的程序设计语言中,这类通信是通过回调函数来完成的:在某个地方登记这个函数,然后在后面调用它。在面向对象程序中,Command(命令)与回调函数等价,它封装了回调函数。null 命令模式定义 利用命令来参数化对象。命令的发出者并不关心是什么命令对象,只要该命令对象实现了Com...

命令模式-
nullThe Command Pattern 命令模式The Command Pattern 命令模式09软工4班要解决的问题要解决的问题有时需要向对象发送请求,但是不知道“被请求的操作”或“请求的接收者”的任何信息。 在面向过程的程序设计语言中,这类通信是通过回调函数来完成的:在某个地方登记这个函数,然后在后面调用它。在面向对象程序中,Command(命令)与回调函数等价,它封装了回调函数。null 命令模式定义 利用命令来参数化对象。命令的发出者并不关心是什么命令对象,只要该命令对象实现了Command接口即可。命令模式也可以实现队列、日志和撤消操作。使用命令模式的好处使用命令模式的好处Command模式使请求本身成为一个对象。这个对象和其它对象一样可以被存储和四处传递。这种模式的关键在于一个Command接口:它声明了一个接口,用于执行操作。 command模式是一种对象行为模式,它可以使发送者和接收者完全解耦。 Command模式还让我们可以对"何时"及"如何"完成请求进行行改变。因此,Command模式为我们提供了灵活性和可扩展性。nullCommand类,用来声明执行操作的接口Command类,用来声明执行操作的接口abstract class Command { protected Receiver receiver; public Command(Receiver receiver) { this.receiver=receiver; } abstract public void Execute(); }ConcerteCommand类,将一个接收者对象绑定于一个动作,调用接受者相应的操作,已实现ExecuteConcerteCommand类,将一个接收者对象绑定于一个动作,调用接受者相应的操作,已实现Executeclass ConcreteCommand:Command { public ConcreteCommand (Receiver receiver):base(receiver) { } public override void Execute() { receiver.Action(); } }Invoker类,要求该命令执行这个请求Invoker类,要求该命令执行这个请求class Invoker { private Command command; public void SetCommand(Command command) { this.command=command; } public void ExecuteCommand() { command.Execute(); } }Receiver类,知道如何实施与执行一个与请求相关的操作,任何类都可能作为一个接收者Receiver类,知道如何实施与执行一个与请求相关的操作,任何类都可能作为一个接收者class Receiver { public void Action() { Console.WriteLine("执行请求"); } }客户端代码,创建一个具体命令对象并设定它的接收者客户端代码,创建一个具体命令对象并设定它的接收者 static void Main(string[] args) { Receiver r=new Receiver(); Command c=new ConcreteCommand(r); Invoker i=new Invoker(); i.SetCommand(c); i.ExecuteCommand(); Console.Read(); }ThanksThanks 演示结束
本文档为【命令模式-】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_478805
暂无简介~
格式:ppt
大小:363KB
软件:PowerPoint
页数:0
分类:互联网
上传时间:2012-03-28
浏览量:29