创建一个能够根据所传递的参数对象的不同而具有不同的行为方式的方法叫做策略模式。
这类方法包含所要执行的算法中固定不变的部分,而“策略”包含变化的部分。策略就是传递进去的参数对象,它包含要执行的代码。
配合jdon:http://www.jdon.com/designpatterns/designpattern_Strategy.htm会更为明白。
虽然两者对策略模式某些解释有出入,但是仔细想想也都是对的。
thinking in java中把jdon中所说的“算法解决”叫做“所要执行的算法中固定不变的部分”,把“策略”叫做“算法”。
考虑的方面有所不同,从各自给的例子出发思考,都是没有任何问题的。