在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。
public class Strategy {
interface StrategyPattern{
String publishArticle();
}
static class WechatStrategyPattern implements StrategyPattern{
@Override
public String publishArticle() {
return "发布微信";
}
}
static class ToutiaoStrategyPattern implements StrategyPattern{
@Override
public String publishArticle() {
return "发布头条";
}
}
static class DouyinStrategyPattern implements StrategyPattern{
@Override
public String publishArticle() {
return "发布抖音";
}
}
static class Context{
private final StrategyPattern strategyPattern;
public Context(StrategyPattern strategyPattern){
this.strategyPattern = strategyPattern;
}
public String publishArticle(){
return strategyPattern.publishArticle();
}
}
public static void main(String[] args) {
Context context = new Context(new WechatStrategyPattern());
System.out.println(context.publishArticle());
context = new Context(new ToutiaoStrategyPattern());
System.out.println(context.publishArticle());
context = new Context(new DouyinStrategyPattern());
System.out.println(context.publishArticle());
}
}



