私はJavaの初心者です。私がそれを学ぶのに使う本は私を完全に混乱させる暗黙の例と文章があるようです。Javaインターフェイスのコンテキストでの「ファクトリメソッドデザインパターン」?
私は実際の世界でどのようなインターフェイスがどのように、そしてどのようにそのコンセプトを適用するのかを理解しています。しかし、ファクトリメソッドとは何ですか? 「ファクトリメソッド」という用語はあいまいです(JavaScriptはそれとは別の意味を持っています)ので、私の質問を明確にするために、本が持つスニペットを提供しています。コードは次のとおりです。
interface Service {
void method1();
void method2();
}
interface ServiceFactory {
Service getService();
}
Service
インターフェイスは単なる通常のインターフェイスです。 ServiceFactory
インターフェイスは通常のインターフェイスのように見えますが、「ファクトリメソッド」です。あれは何でしょう?それが何を解決し、なぜ私はそれらを使うべきですか?
厳密に言えば、「ServiceFactory」も「通常の」インターフェースです。ファクトリメソッドは、ある種のインスタンス(つまり、 "factory"という用語)を生成(作成)する必要があるため、Java 8から始まって、ある種の実装が必要です。あなたはインターフェイスでファクトリメソッドを指定できますが、特定の型を作成する具象Factoryクラスが必要です。 https://en.wikipediaを参照してください。org/wiki/Factory_method_pattern –
[デザインパターン:Factory vs Factoryメソッドと抽象ファクトリ]の重複している可能性があります(http://stackoverflow.com/questions/13029261/design-patterns-factory-vs-factory-method-vs-abstract- factory) – jaco0646