工厂模式+策略模式 使用
一. 先明白什么是工厂模式
工厂模式是创建型的设计模式,它接受指令,创建出符合要求的实例;它主要解决的是资源的统一分发,将对象的创建完全独立出来,让对象的创建和具体的使用客户无关。主要应用在多数据库选择,类库文件加载等。
二.什么是策略模式
策略模式是为了解决的是策略的切换与扩展,更简洁的说是定义策略族,分别封装起来,让他们之间可以相互替换,策略模式让策略的变化独立于使用策略的客户。
三.代码实现
1. 定义一个策略接口,提供两个方法
2. 定义实现类,注意实现类上必须加上spring的注解,相当于把这个类交给spring容器管理
3. 重写的两个方法
4. 编写获取实体的工厂类,注入的list里面相当于就是所有实现策略接口的实现类,因为交给了spring管理,所以所有子类都在,并且通过多态指定对应的子类
5.调用测试,通过传参,找到指定的实体,执行指定的策略,测试成功
6. 当然我们也可以用另外一种方法,通过注入map 通过key去获取对应的实现类,在实体类上的spring注解加上给他一个名称,相当于就是注入map里面的key value 就是对应的实体,如果不加名称, 注入map的话,他的key就是类名
7. 通过注入map 去执行对应的策略,测试成功,两种方式都可以,性质差不多,第二种相当于用map 代替了 自己定义的工厂