欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

23种设计模式----策略模式

程序员文章站 2022-06-04 23:16:19
...
策略模式
定义一组算法, 将每个算法都封装起来, 并且使它们之间可以互换。
策略模式和代理模式的区别:
  代理模式是相同的类进行代理.  策略模式注重点不一样.

1.来个策略接口 

public interface IStrategy {
    void operate();
}

2.来个实现的策略1 

public class IStrategy_one implements IStrategy {
    private static final String TAG = "IStrategy_one";
    @Override
    public void operate() {
        Log.e(TAG, "operate: 策略1" );
    }
}

3.来个实现的策略2 

public class IStrategy_two implements IStrategy {
    private static final String TAG = "IStrategy_two";
    @Override
    public void operate() {
        Log.e(TAG, "operate: 策略2" );
    }
}

 4.把策略放到实际使用者手中

public class Context {
    //构造函数, 你要使用哪个策略
    private IStrategy straegy;
    public Context(IStrategy strategy){
        this.straegy = strategy;
    }

    //使用策略了
    public void operate(){
        this.straegy.operate();
    }
}

5.来个测试类, 想要什么策略,往里面使用者手里扔就行了 

public class Test {
    public void test() {

        Context context = new Context(new IStrategy_one());
        context.operate();  //使用策略1
    }
}
相关标签: 23种设计模式