工厂模式在Python中毫无意义吗?

Cen*_*lti 5 python factory-pattern

由于Python是一种鸭式语言,因此在Python中编写工厂类毫无意义? http://en.wikipedia.org/wiki/Factory_method_pattern

act*_*imp 12

虽然有时可能在其他语言中可能需要工厂模式,但仍有时候使用它是有效的 - 它可能只是一种使API更清洁的方式 - 例如作为一种方式防止重复代码决定返回一系列子类中的哪一个.

从您链接的维基百科文章:

在以下时间使用工厂模式:

  • 对象的创建阻止了重用,而没有显着复制代码.
  • 对象的创建需要访问不适合包含在撰写对象中的信息或资源.
  • 需要集中创建对象的生命周期管理以确保一致的行为.

当语言被打字时,所有这些仍然适用.