我在我的代码中使用了依赖注入(inject)(使用 Ninject),并认为我做得很好,直到我遇到一个性能问题,这是由于误解了 DI 容器适合你的代码的位置。似乎有很多关于如何使用 DI 框架的信息,但没有太多关于在哪里不使用它们或如何最好地使用它们的信息(至少我能找到)
我想我会写出我认为的一些最佳实践,看看其他人是否同意我的观点,以及人们可以提出哪些其他最佳实践。
最佳答案
以下是最重要点的简短列表(其中一些也出现在 OP 中):
我不能说我同意你关于单例与 transient 对象的观点。 DI 的全部意义在于外部机制(例如 DI 容器)决定了任何给定依赖项的生命周期,而不是其他人,因此您需要让所有依赖项都由 DI 容器管理。
关于dependency-injection - 依赖注入(inject)最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1643135/