一、Bean方法模板化
模拟实现一个bean的生命周期过程。
最初的getBean方法如下图,每个步骤都是固定的。
![图1.1](https://img-blog.csdnimg.cn/direct/24280cb0da764e6a899a499c136a1cbc.png)
如果想要在依赖注入时根据需要使用不同的逻辑,怎样才方便呢?
二、模板化
在图1.1中,部分代码是固定不变的,而Bean后处理器是会动态变化的,可以将Bean后处理器做成接口。
beanFactory想使用不同的Bean后处理器,只需要实现不同的接口并将实现类传递给BeanFactory对象即可。
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/32a6af21cb0e4e4db777bd603f83cfd3.png)
总结
在一个方法中有固定的流程,固定的部分方法,会变的部分方法。
可以将会变的方法设计为抽象方法,在使用过程中,添加不同的实现类来即可实现不同的功能。