轴承座厂家
免费服务热线

Free service

hotline

010-00000000
轴承座厂家
热门搜索:
行业资讯
当前位置:首页 > 行业资讯

Command模式与动态语言

发布时间:2020-07-21 18:00:16 阅读: 来源:轴承座厂家

在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模式比这种方法要更加灵活可变。

杭州吸脂价格

贝贝整形医生

成都隆胸医院

哈尔滨双眼皮