另类策略模式比较
来源:2-2 赋值时自动拆箱出现空指针
qq_电耗子_0
2020-11-30
从优惠券来的,目前在工作项目中看到一个奇怪的类似于策略模式的东西。
1、优惠券项目自己创建Map存储bean,通过map.get获取不同实现的bean出来使用
2、工作项目的则是将beanName作为类似于资源码的东西,当要使用的时候直接applicationContext.getBean(beanName)获取
老禽这两种有啥说法,感觉扩展性差不多,但第二种按同事的说法免了BeanPostProcessor更能省事
写回答
1回答
-
电耗子你好:
你所描述的第二种方案不是什么策略模式,就是通过 BeanName 去容器中拿到 Bean,仅此而已。但是,思考一个问题,你从哪里获取到 BeanName?不可能说在代码里面写死吧,你预先如果不知道呢?
我通过 BeanPostProcessor 直接去拿对应的 Bean,判断类型,再放到 Map 中。我想象不到有更好的做法可以做到这样的功能。
我是勤一,致力于将这门课程的问答区打造为 Java 知识体系知识库,Java 知识体系 BBS!共同建造、维护这门课程,我需要每一个你!
112020-12-01
相似问题