groovy设计模式之策略模式

原文链接http://groovy.codehaus.org/Strategy+Pattern

策略模式可以让你远离他们使用特定的算法这可以让你轻松地交换算法被用来无需更改代码一般形式的模式

  

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

例子
首先,让我们来看看在封装战略格局的传统方式。

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

这里是Groovy化的方式来实现同样的事情,使用闭包:

 

posted @ 2012-06-16 11:53  javayz  阅读(447)  评论(0)    收藏  举报