首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
Command模式与动态语言
来源:本站整理  作者:佚名  2011-06-29 07:45:38



在Gof的设计模式中,有一个模式引起的争议比较大,有很多人甚至认为这个模式应该排除在OO模式之外,原因在于它不具有OO的特性。不管怎么说,这个引起争议的模式还是非常特别的,只要我们静下心来分析一下,不难发现它的迷人之处。这个模式就是Command模式。

  一、基本的Command模式

  最简单的Command模式中,包含一个ICommand接口,接口只有一个方法Execute。不同的Command对象实现这个接口,客户端程序通过接口访问Execute方法的不同实现。

  

  好像也没什么,这个模式太简单了,几分钟就能学会。

  模式本身是简单的,但模式中包含的思想就不简单了。有人认为Command模式不够OO的主要原因就是它用OO的思想封装一个方法,将方法当作对象来使用。OO的思想中,所有的名词都是对象,比如说人;对象有自己的属性,比如说身高、体重;对象有自己的方法,比如说人会跑,所以有一个Run()的方法。对象、属性、方法是面向对象的几大基本特征。那这个Command模式在搞什么鬼——它居然将方法当作对象!太不可理解了,世界上根本就不会有Run这个对象。

  Command模式的思想就是模糊了方法与对象的界限。上面说的场景其实可以用下面的方式来实现。

  

  其中函数FunctionA、FunctionB、FunctionC分别对应到对象CommandA、CommandB、CommandC。不过采用Command模式比这种方法要更加灵活可变。

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:84,593.75000 毫秒