抽象工厂和工厂设计模式之间有什么区别?
我知道有很多关于这两种模式之间差异的文章,但是有些事情我找不到。 从我所阅读的内容中,我看到工厂方法模式允许您定义如何创建单个具体产品,但是对客户端隐藏了实现,因为他们将看到通用产品。我的第一个问题是关于抽象工厂。它的作用是允许您在其中创建具体对象系列(具体取决于您使用的特定工厂),而不仅仅是单个具体对象?抽象工厂是否仅根据调用的方法返回一个很大的对象或一个很大的对象? 我的最后两个问题是关于一个引号,我无法完全理解我在很多地方都看到过的情况: 两者之间的区别是,在使用抽象工厂模式时,一个类通过组合将对象实例化的责任委托给另一个对象,而工厂方法模式则使用继承并依赖于子类来处理所需的对象实例化。 我的理解是,工厂方法模式具有一个Creator接口,它将使ConcreteCreator负责知道要实例化哪个ConcreteProduct。这是使用继承处理对象实例化的意思吗? 现在关于那句话,抽象工厂模式究竟如何通过组合将对象实例化的职责委托给另一个对象?这是什么意思?在我看来,抽象工厂模式似乎也使用继承来完成构建过程,但是我仍然在学习这些模式。 任何帮助,特别是最后一个问题,将不胜感激。