dependency-injection - 依赖注入(inject)与工厂模式

标签 dependency-injection factory-pattern design-patterns

大多数引用的示例都是关于依赖注入(inject)的使用,我们也可以使用工厂模式来解决。看起来在使用/设计方面,依赖注入(inject)和工厂之间的区别是模糊的或薄弱的。

曾经有人告诉我,使用它的方式会产生影响!

我曾经用过StructureMap一个 DI 容器来解决问题,后来我重新设计它以与一个简单的工厂一起使用,并删除了对 StructureMap 的引用。

谁能告诉我它们之间有什么区别,在哪里使用什么,这里的最佳实践是什么?

最佳答案

当使用工厂时,您的代码实际上仍然负责创建对象。通过 DI,您可以将该责任外包给另一个类或框架,这些类或框架与您的代码是分开的。

关于dependency-injection - 依赖注入(inject)与工厂模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/557742/

相关文章:

java - 什么是单例的替代品

c# - MEF2 和 .NET 核心

c# - 如何将参数传递给待解析类型的 'child' 项的构造函数

asp.net - 使用HttpRequestMessage.Properties承载每个请求的上下文

java - 工厂设计模式和DAO设计模式有什么区别

c# - 激活器.CreateInstance : Dynamic Instantiation of Classes

c# - 如何在 ASP.NET 5 (vNext) 中设置 SignalR Hub 依赖注入(inject)?

编译器未找到泛型类型类的 C# 扩展方法

delphi - "Double-Checked Locking"在Delphi中应该如何实现?

c# - 异常处理中的设计模式