依赖注入 – 依赖注入最佳实践

前端之家收集整理的这篇文章主要介绍了依赖注入 – 依赖注入最佳实践前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的代码中使用依赖注入(使用 Ninject)并且认为我做得很好,直到我遇到由于误解DI容器适合代码的地方而导致的性能问题.似乎有很多关于如何使用DI框架的信息,但没有太多关于不使用它们的地方或如何最好地使用它们(至少我能找到)

我想我会写出我认为最好的做法,看看其他人是否同意我以及人们可以提出的其他最佳做法.

>每个应用程序或AppDomain使用一个内核
>仅将DI容器用于长寿命Singleton对象,将工厂(或其他方法)用于短期瞬态对象)
>首选构造函数注入属性或场注入
>请求对象,不要构建它们
>其他??指向好博客文章/文章

这是最重要的一个简短列表(其中一些也出现在OP中):

>代码应该不知道使用哪个DI容器(如果有的话)
>在应用程序的根目录中组合整个应用程序(组合根)
>偏向构造函数注入

我不能说我同意你关于Singleton vs. Transient对象的观点. DI的重点是外部机制(例如DI容器)确定任何给定依赖关系的生命周期,而不是其他人,因此您需要让所有依赖关系由DI容器管理.

原文链接:https://www.f2er.com/javaschema/281694.html

猜你在找的设计模式相关文章