我在我的代码中使用依赖注入(使用Ninject)并认为我做得很好,直到我遇到一个性能问题,这是由于误解了 DI 容器适合你的代码的位置。似乎有很多关于如何使用 DI 框架的信息,但没有太多关于在哪里不使用它们或如何最好地使用它们的信息(至少我能找到)
我想我会写出我认为的一些最佳实践,看看其他人是否同意我的观点,以及人们可以提出哪些其他最佳实践。
- 每个应用程序或 AppDomain 使用一个内核
- 仅对长寿命的单例对象使用 DI 容器,对短寿命的瞬态对象使用工厂(或其他方法)
- 构造函数注入优于属性或字段注入
- 请求对象,不要构建它们
- 其他??指向好的博客全文/文章的指针??