spring boot 中通过@Bean map的方式减少if语句

项目中通常用到if判断,但有时候为了扩展的需要,不想过多的写if,else语句,这时候首先想到的就是使用策略模式。

策略模式(Strategy Pattern):定义一系列算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化,也称为政策模式(Policy)。

Context: 环境类

Strategy: 抽象策略类

ConcreteStrategy: 具体策略类

类图


时序图:

时序图


通过图可以看到有一个接口,不同的情况下使用不同的实现类的计算逻辑。


项目中通常根据不同的事件,类型,走不同的业务逻辑。

那么在spring boot中怎么使用呢。举个简单的例子:

1.定义接口


接口定义

2.编写实现类,子类的代码基本都是根据自己的业务做好实现就行,大致的代码如下:


子类

3.编写Myconfig.java,做好类型和子类的对应关系


类型和子类对应关系

4.使用的时候在类中引入,然后根据类型开始调用


类中注入

5.根据类型查找对应的实现类,减少if语句,同时也方便扩展新的类型,减少了代码耦合


根据类型查找对应的实现类,减少if语句


---------------------------

如果对您有帮助,记得双击么么哒!

--------------------------

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,903评论 1 32
  • 本文仅仅为入门,高手勿喷。 实际工作中,我们总会遇到类似如下的需求:某支付系统接入以下几种商户进行充值:易宝网易,...
    JarvanMo阅读 14,814评论 14 26
  • javascript设计模式与开发实践 设计模式 每个设计模式我们需要从三点问题入手: 定义 作用 用法与实现 单...
    穿牛仔裤的蚊子阅读 9,782评论 0 13
  • ios开发学习中,经常弄不清楚ios的开发模式,今天我们就来进行简单的总结和探讨~(一)代理模式应用场景:当一个类...
    贝勒老爷阅读 5,120评论 1 8
  • 文:冰山雪雁 【一】 “微风吹着浮云,飘落大地细雨,淋湿你,淋湿我,淋得世界充满诗意,漫步青青草地,小草也轻轻低语...
    冰山雪雁阅读 3,372评论 1 3

友情链接更多精彩内容