1.策略模式的定义
对策略模式的理解需要一些多态基础,将不同的算法分装起来,根据调用者的身份返回对应的算法算出的结果,让它们之前可以互相替换,此模式让算法的变化独立于使用算法的客户,将对象模型(Model)与对象的一些经常变动的行为(Behaviour)进行分离,将原有的“Is-A”(是一个类)模式改为“Has-A”(类包含类)模式。
2.策略模式的原理
其中会计代表算法 p 和 c 代表两个不同的对象 都调用这个算法 得到不同的结果
3.举例说明
public class Context
{
Strategy strategy;
public Context(Strategy strategy) //初始化时传入策略
{
this.strategy = strategy;
}