什么是java中的工厂方法?

时间:2015-05-18 13:42:30

标签: java

我是一名学生,今天在我的口交中提出了这个问题,我以前甚至没有听说过。

我在互联网上搜索过它,我总是发现结果非常混乱,难以理解和解释。

请,此社区的任何资深人士都可以用简单的语言向我解释。

我不想要求任何勺子喂食,但我尽力去搜索它,却无法理解。

请用简单的语言向我解释(我擅长编程,但我发现这个概念很难理解)。

2 个答案:

答案 0 :(得分:2)

工厂方法是一种(通常是静态的)方法,用作创建(或更好地)提供类实例的方法。它是简单构造函数的替代方法,也可以是全文Factory pattern

工厂方法优于简单构造函数的优点是

  • 可读性Car newCar = Car.duplicateOf(oldCar)显示的意图远远优于Car newCar = new Car(oldCar)
  • 返回非新内容的可能性MonetaryAmount.valueOf(0)可能会返回一个始终用于零的常量。您还可以实现自己的interning形式。
  • 可以返回其他类Person.forAge(int age)可能会返回AdultChild的实例,具体取决于传入的年龄。

优于完整工厂模式的优点是实现和使用更简单。如果需要可互换的实现,则只使用工厂模式。

另见http://en.wikipedia.org/wiki/Factory_method_pattern

答案 1 :(得分:1)

适用性:

时使用Factory Method模式
  • 一个班级无法预料必须创建的对象类

  • 一个类希望其子类指定它创建的对象

  • 类将责任委托给几个辅助子类之一,并且您希望本地化知道哪个辅助子类是委托。

This link will surely help you