我是一名学生,今天在我的口交中提出了这个问题,我以前甚至没有听说过。
我在互联网上搜索过它,我总是发现结果非常混乱,难以理解和解释。
请,此社区的任何资深人士都可以用简单的语言向我解释。
我不想要求任何勺子喂食,但我尽力去搜索它,却无法理解。
请用简单的语言向我解释(我擅长编程,但我发现这个概念很难理解)。
答案 0 :(得分:2)
工厂方法是一种(通常是静态的)方法,用作创建(或更好地)提供类实例的方法。它是简单构造函数的替代方法,也可以是全文Factory pattern。
工厂方法优于简单构造函数的优点是
Car newCar = Car.duplicateOf(oldCar)
显示的意图远远优于Car newCar = new Car(oldCar)
MonetaryAmount.valueOf(0)
可能会返回一个始终用于零的常量。您还可以实现自己的interning形式。Person.forAge(int age)
可能会返回Adult
或Child
的实例,具体取决于传入的年龄。优于完整工厂模式的优点是实现和使用更简单。如果需要可互换的实现,则只使用工厂模式。
答案 1 :(得分:1)
适用性:
时使用Factory Method
模式
一个班级无法预料必须创建的对象类
一个类希望其子类指定它创建的对象
类将责任委托给几个辅助子类之一,并且您希望本地化知道哪个辅助子类是委托。