java策略模式
? ? ? head first对策略模式的定义是:封装一系列算法,并把它们包装起来,使他们可以相互替换。在该书的第一章节模拟鸭子游戏里面,讲用策略模式改写,但本身用了代理这个模式,这里我理解的是一般使用策略模式就有一定程度的使用代理模式。看下面的例子。
这是一个代理模式的例子
public class TestMain {public static void main(String[] args){ Person person = new Chinese(); StrategyPerson sp = new StrategyPerson(person); sp.speakLanguage();}}
?这个例子的作者说这是策略模式,但我感觉和我的代理模式好像是一样的,对代理模式和策略模式,我有点混淆了。。。
还是策略模式本身在设计的时候就包含了代理模式,代理模式这是策略模式的一个小小的体现呢?期待在工作的过程中能慢慢的搞清楚这个问题!