前提:先去了解普通的《策略模式》,再来这里学习项目中使用策略模式方式,因为需要让你感受到普通策略和实战策略的差异,才会记得更清楚
看到网上好多的《策略模式》都是描述一个简单的策略实现方式,没法直观的看出效果,今天我带大家来实现一下SpringBoot项目中真实使用策略模式的方式,废话不多说,开整!!!
为了更直观让大家理解,我用了中文命名类名,代码自己敲,这里只放图片,眼过千遍不如手过一遍!!!
第一步:按照图片,建好四个类
策略接口:
策略实现1:
记住加@Component哦,将策略交给IOC来管理
策略实现2:
跟上面一样,以此类推
重点来了,初始化类,自己敲,边敲边理解,ApplicationContextAware可以简单的理解为直接拿到BeanFactory中你想要的Bean,想要具体了解去看其他博主的对ApplicationContextAware接口的讲解,我就不多说了
注意注意注意⚠️:注意第30行,key一定要根据自己的路径包来截取,或者还有其他好方法自己来解决,我的方案是,将策略类统一管理,直接截取路径,获取类名,然后取的时候方便,认真看注释,认真看注释,认真看注释!!!!
测试(自己随便测,我喜欢这样测~~~):
先假设 msg不成立,看看会怎么样呢?
结果:
假设策略成立,将msg改为 -----> 策略实现1
结果:
将msg改为 -----> 策略实现2
结果:
当然,还有更好的实战策略方案,这里我就举例一种比较好理解的方案,自己敲完后,可以自己尝试优化和扩展哦
完结撒花~~~~