简单的策略模式,一句话概括“不修改对象的情况下,使方法可以有不同的执行效果”

策略模式

    1、什么是策略模式    

                策略模式指的是可以在不修改对象的情况下,使方法可以有不同的执行效果

                例如:加密类,可以有md5,也可以有des加密,此时,想要修改加密类的加密方式,但不想修改本类,那就可以使用该模式

    2、代码演示

                1、首先创建一个加密接口,主要目的是可以用多态的方式进行注入到执行的类中

public interface Strategy  {
    void jiami();
}

               2、创建实现类,此时我们就创建一个md5的实现类,然后实现加密接口

public class MD5Strategy implements Strategy{
    @Override
    public void jiami() {
        System.out.println("MD5加密");
    }
}

              3、之后就可以创建具体要加密的类,该类核心是注入加密类,让加密类可以多态注入

public class Context {
    private Strategy strategy;

    public Context(Strategy strategy) {
        this.strategy = strategy;
    }

    public void jiami(){
        strategy.jiami();
    }

}

              4、接下来代码已经完成了,剩下就可以调用了,策略模式的代码实现比较简单,但是主要的还是思路

public class MainTest {

    public static void main(String[] args) {
        //此时注入的md5加密,如果换成其他加密,context加密方法就会改变了
        Context context = new Context(new MD5Strategy());
        context.jiami();

    }
}

猜你喜欢

转载自blog.csdn.net/qq_38384460/article/details/111463602
今日推荐