【23种设计模式】之策略模式(常用的模式)(strategy pattern)

56 阅读1分钟

本文已参与[新人创作礼]活动,一起开启掘金创作之路。

说明

  • 定义一组算法,将每个算法都封装起来,并且使他们之间可以互换。

角色

  • 抽象策略
  • 具体策略
  • 环境

代码实现

  • 可以在不同的场景下选择不同的策略,比如支付宝微信支付等。
public interface IStrate {
    void doSomething();
}
public class Strate1 implements IStrate{
    @Override
    public void doSomething() {
        System.out.println("第一件");
    }
}
public class Strate2 implements IStrate{
    @Override
    public void doSomething() {
        System.out.println("第二件");
    }
}
public class Strate3 implements IStrate{
    @Override
    public void doSomething() {
        System.out.println("第三件");
    }
}
public class Content {
    private IStrate strate;
    Content(IStrate strate){
        this.strate = strate;
    }
    public void doSomething(){
        strate.doSomething();
    }
}
public class Test {
    public static void main(String[] args){
        IStrate strate1 = new Strate1();
        Content content = new Content(strate1);
        content.doSomething();
    }
}