我是一名Java初学者,我用来学习它的书似乎有一些神秘的例子和句子,让我完全迷惑。Java接口上下文中的“工厂方法设计模式”?
我明白接口是什么以及如何/在哪里将这个概念应用到现实世界中。但是什么是工厂方法?术语“工厂方法”是不明确的(JavaScript有不同的含义),所以我提供了该书的片段,以便明确我的问题。这里是代码:
interface Service {
void method1();
void method2();
}
interface ServiceFactory {
Service getService();
}
Service
接口只是一个普通的接口。 ServiceFactory
界面看起来像一个正常的界面,但它是一个“工厂方法”。那是什么?它解决了什么问题,为什么我应该使用它们?
严格来说,'ServiceFactory'也是一个“普通”接口。工厂方法需要某种实现(从Java 8开始,这可以是接口中的默认方法),因为它需要生成(创建)某种类型的实例(因此称为“工厂”)。您*可以*在接口中指定工厂方法,但仍然需要一个具体的Factory类来创建特定的类型。请参阅https://en.wikipedia。org/wiki/Factory_method_pattern –
[Design Patterns:Factory vs Factory method vs Abstract Factory]可能的副本(http://stackoverflow.com/questions/13029261/design-patterns-factory-vs-factory-method-vs-abstract-工厂) – jaco0646