新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > Command模式与动态语言

Command模式与动态语言

作者:时间:2011-06-27来源:网络收藏

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

本文引用地址:http://www.eepw.com.cn/article/150559.htm

  一、基本的模式

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

  

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

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

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

  

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


上一页 1 2 下一页

关键词: 语言 动态 模式 Command

评论


相关推荐

技术专区

关闭