ファクトリ メソッド パターンの問題を解決する: 特定のファクトリでは 1 種類の製品しか作成できませんが、実際のプロセスではファクトリで多数の製品を生成する必要がある場合が多く、この場合には抽象ファクトリ パターンを使用できます。
定義: 特定のクラスを指定せずに、一連の関連オブジェクトまたは相互依存オブジェクトを作成するためのインターフェイスを提供します。特定のファクトリは、特定の製品の実装を担当します。工場で複数の製品を生産できるようにします。
Abstract Factory (AbstractFactory):提供されているプロダクトを作成するためのインターフェイスには、さまざまなレベルの複数のプロダクトを作成できる、プロダクトを作成するための複数のインターフェイス メソッドが含まれています。
コンクリート ファクトリ (ConcreteFactory): 抽象ファクトリによって定義されたメソッドを実装して、特定のプロダクトの作成を完了します
抽象製品 (Product): 製品の仕様を定義し、製品の主な機能とパフォーマンスを説明します。
具体的な製品 (ConcreteProduct): 抽象製品を定義するメソッドを実装し、製品を作成するための具体的なファクトリ、特定のファクトリと特定の製品の間の 1 対多の関係
抽象ファクトリ メソッドの実装:
public interface AbstractFactory { public Product1 createProduct1(); public Product2 createProduct2(); } public class ConcreteFactory1 implements AbstractFactory { @Override public Product1 createProduct1() { System.out.println("具体工厂1产生具体产品1..."); return new ConcreteProduct1(); } @Override public Product2 createProduct2() { System.out.println("具体工厂1产生具体产品2..."); return new ConcreteProduct2(); } }
使用手順:
抽象製品クラスを作成し、製品のパブリック メソッドを定義します
特定の製品クラスを作成し (抽象製品インターフェイスを実装します)、生成された特定のプロダクトを定義します
抽象ファクトリ クラスを作成し、特定のファクトリのパブリック インターフェイスを定義します。ファクトリ クラスはさまざまなレベルのプロダクトを作成できます
特定のファクトリ クラスを作成し、対応する特定の製品インスタンスを作成するためのメソッドを定義します
6. 長所と短所
以上がJava で抽象ファクトリー パターン コードを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。