Strategy - juedaiyuer/researchNote GitHub Wiki
#策略模式#
- 算法族模式,在我们的应用系统中对于同一个行为(算法)表现出不同的代表方式,让算法(行为)的改变独立于外部程序的调用,对于外部程序员而言,他不关心具体的行为,只关心达到什么样的行为效果.通过动态的确定调用行为
//定义一个接口类
public interface Cookfish
{
public void cookfish();
}
//实现了这个接口,方法1
public class ChinaCook implements Cookfish
{
public void cookfish()
{
System.out.println("china style of fish");
}
}
//实现了这个接口,方法2
public class JapanCook implements Cookfish
{
public void cookfish()
{
System.out.println("japan style of fish");
}
}
public class Strategy
{
private Cookfish cookfish;
public Strategy(Cookfish cookfish)
{
this.cookfish = cookfish;
}
public void action()
{
this.cookfish.cookfish();
}
}
public class demo
{
public static void main(String[] args)
{
ChinaCook cc = new ChinaCook(); //创建一个实际对象
Strategy my = new Strategy(cc); //由strategy管理实际对象的一切
my.action();
}
}