これら2つのパターンの違いについては多くの投稿があることは知っていますが、見つけられないことがいくつかあります。
私が読んでいることから、ファクトリメソッドパターンを使用すると、単一の具体的な製品を作成する方法を定義できますが、一般的な製品を表示するため、クライアントから実装を隠すことができます。私の最初の質問は、抽象ファクトリーについてです。その役割は、単一のコンクリートオブジェクトだけでなく、使用する具体的なファクトリに依存するコンクリートオブジェクトのファミリを作成できるようにすることですか?抽象ファクトリーは、呼び出すメソッドに応じて、非常に大きなオブジェクトを1つだけ返すのか、それとも多くのオブジェクトを返すのですか?
私の最後の2つの質問は、私が多くの場所で見たことを完全には理解できない単一の引用に関するものです。
2つの違いの1つは、抽象ファクトリパターンでは、クラスがオブジェクトのインスタンス化の責任を合成によって別のオブジェクトに委譲するのに対し、ファクトリメソッドパターンは継承を使用し、サブクラスに依存して目的のオブジェクトのインスタンス化を処理することです。
私の理解では、ファクトリー・メソッド・パターンにはCreatorインターフェースがあり、これにより、具象化するConcreteProductを、ConcreteCreatorが管理できるようになります。これは、継承を使用してオブジェクトのインスタンス化を処理することの意味ですか?
さて、その引用に関して、抽象ファクトリパターンは、オブジェクトのインスタンス化の責任を、合成を介して別のオブジェクトにどのように委任するのでしょうか。これは何を意味するのでしょうか?抽象ファクトリパターンも、継承を使用して構築プロセスを実行しているように見えますが、やはりこれらのパターンについてはまだ学習しています。
特に最後の質問で何か助けていただければ幸いです。