package strategy;
//一个追女孩子的策略
public interface Strategy
{
public void doSometing();
}
package strategy;
public class StrategyOne implements Strategy
{
public void doSometing()
{
System.out.println("霸王硬上弓!");
}
}
package strategy;
public class StrategyTwo implements Strategy
{
public void doSometing()
{
System.out.println("循规蹈矩一步一步的追!");
}
}
package strategy;
public class Context
{
private Strategy strategy;//有一个策略的引用
public Context(Strategy s)//动态使用策略
{
this.strategy = s;
}
public void doing()
{
strategy.doSometing();
}
}
package strategy;
public class Test
{
public static void main(String[] args)
{
Context context = new Context(new StrategyOne());
context.doing();
Context con = new Context(new StrategyTwo());
con.doing();
}
}
/*
* 策略模式主要就是将一些相同的功能抽象出一个接口,在环境类里保存策略接口的一个引用
* 在调用的时候可以动态的调用那些策略
*/
//一个追女孩子的策略
public interface Strategy
{
public void doSometing();
}
package strategy;
public class StrategyOne implements Strategy
{
public void doSometing()
{
System.out.println("霸王硬上弓!");
}
}
package strategy;
public class StrategyTwo implements Strategy
{
public void doSometing()
{
System.out.println("循规蹈矩一步一步的追!");
}
}
package strategy;
public class Context
{
private Strategy strategy;//有一个策略的引用
public Context(Strategy s)//动态使用策略
{
this.strategy = s;
}
public void doing()
{
strategy.doSometing();
}
}
package strategy;
public class Test
{
public static void main(String[] args)
{
Context context = new Context(new StrategyOne());
context.doing();
Context con = new Context(new StrategyTwo());
con.doing();
}
}
/*
* 策略模式主要就是将一些相同的功能抽象出一个接口,在环境类里保存策略接口的一个引用
* 在调用的时候可以动态的调用那些策略
*/