工厂模式+策略模式 使用

一. 先明白什么是工厂模式

     

    工厂模式是创建型的设计模式,它接受指令,创建出符合要求的实例;它主要解决的是资源的统一分发,将对象的创建完全独立出来,让对象的创建和具体的使用客户无关。主要应用在多数据库选择,类库文件加载等。

 

二.什么是策略模式

 

 策略模式是为了解决的是策略的切换与扩展,更简洁的说是定义策略族,分别封装起来,让他们之间可以相互替换,策略模式让策略的变化独立于使用策略的客户。

 

三.代码实现

 

1. 定义一个策略接口,提供两个方法

 

 

 

 

 

2. 定义实现类,注意实现类上必须加上spring的注解,相当于把这个类交给spring容器管理

 

 

 

 

3. 重写的两个方法

 

 

 

 

4. 编写获取实体的工厂类,注入的list里面相当于就是所有实现策略接口的实现类,因为交给了spring管理,所以所有子类都在,并且通过多态指定对应的子类

 

 

 

 

5.调用测试,通过传参,找到指定的实体,执行指定的策略,测试成功

 

 

 

6. 当然我们也可以用另外一种方法,通过注入map 通过key去获取对应的实现类,在实体类上的spring注解加上给他一个名称,相当于就是注入map里面的key value 就是对应的实体,如果不加名称, 注入map的话,他的key就是类名

 

 

 

 

 

7. 通过注入map 去执行对应的策略,测试成功,两种方式都可以,性质差不多,第二种相当于用map 代替了 自己定义的工厂

 

 

 

 

 

 

 

  

posted @ 2021-06-30 10:58  历尽千帆归来任是少年  阅读(1393)  评论(0编辑  收藏  举报