Tapestry5中的DI

Tapestry5中的DI,第1张

概述DI是Dependency Injection缩写,我们翻译为“依赖注入”。简单的说,两个对象A->B(或者组件)依赖关系的建立,最好不要在编程时候确定下来,即不要通过new的方式确定依赖关系,这种方式会使系统失去可扩展性、可复用性等特点。当业务需求变化的时候,A不再依赖B而是依赖C(A->C)时候,new方式建立依赖关系的时候就不得不修改A,这是我们在系统设计中最不希望看到的情况。我们需要的是A

DIDependency Injection缩写,我们翻译为“依赖注入”。简单的说,两个对象A->B(或者组件)依赖关系的建立,最好不要在编程时候确定下来,即不要通过new的方式确定依赖关系,这种方式会使系统失去可扩展性、可复用性等特点。当业务需求变化的时候,A不再依赖B而是依赖CA->C)时候,new方式建立依赖关系的时候就不得不修改A,这是我们在系统设计中最不希望看到的情况。我们需要的是A->B还是A->C的依赖关系不是固定的、死的,而是灵活的、可变的。如果依赖关系能够推迟到运行期,动态的“注入”进来这样的设计才是我们希望的。这样我们就不需要通过修改A来改变依赖关系。DI(“依赖注入”)的设计思想,就是依赖关系推迟到运行期。


1.28

1.28Spring框架实现DI的示意图,在图1.28中我们看到A对象依赖于B对象还是依赖于C对象是通过Spring 框架在运行期由beanfactory读取applicationContext.xml文件而建立起来的,而不是在编程的时候通过new的方式确定下来的。

DI的思想在OOAD中早就有,Rod JohnsonDI的思想充分地融合到Spring框架设计之中。随着我们学习的深入你会发现Spring框架是多个Bean通过DI方式建立依赖关系,建立复杂的依赖关系网,如图1.29所示。上层Bean依赖下一层的Bean而且依赖关系又可以很容易的切换,而且上层Bean不需要修改任何的代码。


1.29

总结

以上是内存溢出为你收集整理的Tapestry5中的DI全部内容,希望文章能够帮你解决Tapestry5中的DI所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1093116.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存