Factory Method Pattern的实际用途是什么?

bli*_*egz 12 design-patterns

我是Design Patterns的新手.我刚遇到了Factory Design Pattern.我知道它将实例化委托给子类.但我没有得到该模式的实际应用.在哪种情况下,可以使用此模式产生良好效果.我听说过模式滥用,不想沉迷于此.任何人都可以提到一个常用的真实世界的例子.

Ben*_*ter 5

我已将它用于应用程序的插件...这样您就可以让主应用程序调用类工厂来实例化实现您在主应用程序中开发的某些接口的特定插件。这样,您就可以编写应用程序的主要部分,而无需知道要插入什么。


Mah*_*eTo 5

即在以下两种情况之一中:

  1. 您的班级不知道它要创建的对象的类型,而只是想要一个可以“完成工作”的对象。由于EMF大量使用此模式,因此引起了人们的注意。
  2. 您希望类的子类确定要使用的对象的类型。也就是说,您在编写父类时不知道将要创建什么具体产品,这将由具体创建者负责。