可能重复:
Factory Pattern. When to use factory methods?
Why do static Create methods exist?
虽然我知道什么是工厂设计模式。但我无法理解使用它有什么好处。我们为什么要使用Factory Design Pattern创建对象。
答案 0 :(得分:11)
通过工厂创建对象,可以避免使子系统的代码依赖于它所使用的接口的特定实现 - “接口编程而不是实现”是“设计模式”一书中最重要的单个短语和工厂是将代码转移到这个优秀目标的关键方法(依赖注入是另一个关键的DP,经典书籍没有涵盖 - 但是,通常你注入的依赖关系 无论如何工厂,所以遗漏并不太可怕; - )。
答案 1 :(得分:4)
您可以使用工厂方法
获得各种优势答案 2 :(得分:3)
答案 3 :(得分:1)
背后的基本理念是控制创作。
客户端调用方法
object Factory.GetObject(Spec spec)
现在工厂是一个抽象,它阻止客户端在类构造函数中硬编码/烘焙到他们的代码中。相反,他们调用工厂,工厂决定根据规范创建对象的正确子类。
这种方法更具可扩展性和适应性更强 - 将来,
评论太长了......所以不得不将其作为答案发布。