我是一名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