ファクトリ パターンの分類:
1) シンプル ファクトリ パターン (Simple Factory)
2) ファクトリ メソッド パターン (Factory)メソッド)
3) 抽象ファクトリ パターン (Abstract Factory)
推奨される関連ビデオ チュートリアル: java 学習
シンプル ファクトリ パターン
単純なファクトリ パターンは、静的ファクトリ メソッド パターンとも呼ばれます。名前の変更から、このモードは非常に単純であることがわかります。その目的は単純で、オブジェクトを作成するためのインターフェイスを定義することです。
1) ファクトリの役割: これはこのモデルの中核であり、特定のビジネス ロジックと判断ロジックが含まれています。 Java では、多くの場合、具象クラスによって実装されます。
2) 抽象的な製品の役割: これは通常、特定の製品または実装されたインターフェイスによって継承される親クラスです。 Javaではインターフェースまたは抽象クラスによって実装されます。
3) 特定の製品ロール: ファクトリ クラスによって作成されたオブジェクトは、このロールのインスタンスです。 Javaの具象クラスによって実装されます。
抽象ファクトリ パターン:
抽象ファクトリ パターンの目的は、クライアントが複数の製品ファミリの製品オブジェクトを作成するためのインターフェイスを提供することです
さらに、抽象ファクトリ パターンを使用するには、次の条件を満たす必要があります。
1) システム内に複数の製品ファミリがあり、システムは一度に 1 つの製品ファミリのみを使用できます。
2) 同じ製品ファミリーに属する製品は、それに応じて使用する必要があります。
抽象ファクトリ パターンのさまざまな役割 (ファクトリ メソッドの役割と同じ):
1) 抽象ファクトリの役割: これはファクトリの中核ですアプリケーションに関連するメソッド パターン 何もする必要はありません。これは、特定のファクトリ ロールが実装する必要があるインターフェイス、または継承する必要がある親クラスです。 Java では、抽象クラスまたはインターフェイスによって実装されます。
コードプレゼンテーション:
实例:面条工厂 实现工厂模式 ···
以下はいくつかのヌードルコード部分を示します
package am2; public class Daoxiaomian extends Miantiao{ public void show(){ System.out.println("我生产刀削面"); } }
以下はいくつかのファクトリーパターンコード部分を示します
package am2; /** * 工厂模式 * @author hadoop * */ public class Factory { public static final String XIMIANTIAO="ximiantiao"; public static final String KUANMIANTIAO="kuanmiantiao"; public static final String DAOXIAOMIAN="daoxiaomian"; public static Miantiao getMiantiao(String name){ Miantiao miantiao = new Miantiao(); switch(name){ case "ximiantiao": miantiao = new Ximiantiao(); break; case "kuanmiantiao": miantiao = new Kuanmiantiao(); break; case "daoxiaomian": miantiao = new Daoxiaomian(); break; } return miantiao ; } }
以下はいくつかのラザニアを示しますコード部分
package am2; public class Kuanmiantiao extends Miantiao{ public void show(){ System.out.println("我生产宽面条"); } }
以下はインスタンス化コード部分を示します
package am2; public class Miantiao { public void show(){ } }
以下はスパゲッティ コード部分を示します
package am2; public class Ximiantiao extends Miantiao{ public void show(){ System.out.println("我生产细面条"); } }
以下はファクトリ モードのテスト コード部分を示します。工場から各種麺類を入手 コードピース
package am2; /** * 工厂模式,我想从工厂获取到各种面条 * * @author hadoop * */ public class Test { public static void main(String[] args) { Miantiao miantiao = Factory.getMiantiao(Factory.XIMIANTIAO); miantiao.show(); Miantiao miantiao1 = Factory.getMiantiao(Factory.KUANMIANTIAO); miantiao1.show(); Miantiao miantiao2 = Factory.getMiantiao(Factory.DAOXIAOMIAN); miantiao2.show(); } }
おすすめ関連記事: Java言語入門
以上がJavaのファクトリーパターンの詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。