groovy设计模式之策略模式
原文链接http://groovy.codehaus.org/Strategy+Pattern
策略模式可以让你远离他们使用特定的算法。这可以让你轻松地交换算法被用来无需更改代码。一般形式的模式:

在Groovy中,因为它有能力处理代码使用匿名方法(松散的,我们称之为闭包)作为第一类对象,战略格局的需要大大减少。你可以简单地放在瓶盖内的算法。
例子
首先,让我们来看看在封装战略格局的传统方式。

在这里,我们定义了一个接口CALC,我们将实施具体的策略类(我们还可以使用一个抽象类)。然后我们做简单的乘法定义为两种算法:CalcByMult以正常的方式,CalcByManyAdds只使用除(不要尝试使用负数 - 是的,我们可以解决这个问题,但它只是使长的例子)。然后,我们用正常的基因多态性,调用的算法。
这里是Groovy化的方式来实现同样的事情,使用闭包:


浙公网安备 33010602011771号