Spring 里 BeanFactory 的继承结构的问题

2016-09-19 17:17:52 +08:00
 lml12377

那条蓝色的线, DefaultListableBeanFactory 为什么不直接实现 ConfigurableListableBeanFactory / BeanDefinitionRegistry / SingletonBeanRegistry 这三个接口,而是一层层的实现再继承,是什么设计模式吗?不是说接口的继承才是良好的扩展方式,类的继承不是强依赖吗?还是说这样将来可以扩展每层的实现类?

2082 次点击
所在节点    程序员
2 条回复
fqs
2016-09-20 08:26:54 +08:00
每一个层级都拓展了一部分功能。设计模式在具体方法中有,较多的就是模板方法模式。好处也是可以为每一层单独进行拓展,也能复用部分已有的功能,里面的 abstract class 的实现方法。
lml12377
2016-09-20 08:53:18 +08:00
@fqs 明白了,谢谢!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/307299

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX