另类策略模式比较

来源:2-2 赋值时自动拆箱出现空指针

qq_电耗子_0

2020-11-30

从优惠券来的,目前在工作项目中看到一个奇怪的类似于策略模式的东西。
1、优惠券项目自己创建Map存储bean,通过map.get获取不同实现的bean出来使用
2、工作项目的则是将beanName作为类似于资源码的东西,当要使用的时候直接applicationContext.getBean(beanName)获取

老禽这两种有啥说法,感觉扩展性差不多,但第二种按同事的说法免了BeanPostProcessor更能省事

写回答

1回答

张勤一

2020-12-01

电耗子你好:

    你所描述的第二种方案不是什么策略模式,就是通过 BeanName 去容器中拿到 Bean,仅此而已。但是,思考一个问题,你从哪里获取到 BeanName?不可能说在代码里面写死吧,你预先如果不知道呢?

    我通过 BeanPostProcessor 直接去拿对应的 Bean,判断类型,再放到 Map 中。我想象不到有更好的做法可以做到这样的功能。


    我是勤一,致力于将这门课程的问答区打造为 Java 知识体系知识库,Java 知识体系 BBS!共同建造、维护这门课程,我需要每一个你!

1
1
qq_电耗子_0
非常感谢!
2020-12-01
共1条回复

Java实操避坑指南 SpringBoot/MySQL/Redis错误详解

掌握业务开发中各种类型的坑,,Java web开发领域通用

466 学习 · 204 问题

查看课程