策略模式
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();
}
}