ホームページ  >  記事  >  Java  >  Java デザイン パターン ファクトリ メソッド パターンが明らかに

Java デザイン パターン ファクトリ メソッド パターンが明らかに

WBOY
WBOYオリジナル
2024-05-09 14:42:01834ブラウズ

ファクトリ メソッド パターンは、インターフェイスを介してオブジェクトを作成するプロセスを定義し、インターフェイスを実装する特定のファクトリ クラスに特定の作成プロセスを委任する創造的なデザイン パターンです。これにより、作成プロセスと特定のクラスが分離され、拡張が容易になります。セックスのテスト可能性を向上させます。主な構造には、抽象的な工場、具体的な工場、製品が含まれます。

Java デザイン パターン ファクトリ メソッド パターンが明らかに

Java デザイン パターン ファクトリ メソッド パターンの公開

はじめに

ファクトリ メソッド パターンは、プログラマーがオブジェクトを作成するためのインターフェイスを定義できるようにする創造的なデザイン パターンですが、作成プロセスを制御します。これは、具体的なオブジェクトの作成プロセスが、このインターフェイスを実装する具体的なファクトリ サブクラスによって処理できることを意味します。

ファクトリメソッドパターンの利点

    作成プロセスを具体的なクラスから切り離します。
  • 拡張が簡単で、新しいファクトリ サブクラスを追加することで新しい製品タイプをサポートできます。
  • 作成プロセスをテスト用に分離できるため、コードのテスト容易性が向上します。

構造

ファクトリ メソッド パターンは主に 3 つの部分で構成されます:

  • Abstract Factory: オブジェクトの作成に必要なインターフェイスを定義します。
  • コンクリートファクトリー: 特定の種類の製品のインスタンスを作成するために使用される、製品を作成するためのインターフェイスを実装します。
  • Product: ファクトリメソッドによって作成されたオブジェクト。

コード例

以下は、ファクトリ メソッド パターンの Java コード例です:

// 抽象工厂接口
interface ShapeFactory {
    Shape createShape(ShapeType type);
}

// 具体工厂类
class CircleFactory implements ShapeFactory {
    @Override
    public Shape createShape(ShapeType type) {
        return new Circle();
    }
}

// 具体工厂类
class SquareFactory implements ShapeFactory {
    @Override
    public Shape createShape(ShapeType type) {
        return new Square();
    }
}

// 产品类
class Shape {
    private String type;
    public Shape(String type) {
        this.type = type;
    }
    public String getType() {
        return type;
    }
}

// 圆形产品类
class Circle extends Shape {
    public Circle() {
        super("Circle");
    }
}

// 正方形产品类
class Square extends Shape {
    public Square() {
        super("Square");
    }
}

// 客户端代码
public class Main {
    public static void main(String[] args) {
        ShapeFactory circleFactory = new CircleFactory();
        Shape circle = circleFactory.createShape(ShapeType.CIRCLE);
        System.out.println(circle.getType()); // 输出: Circle

        ShapeFactory squareFactory = new SquareFactory();
        Shape square = squareFactory.createShape(ShapeType.SQUARE);
        System.out.println(square.getType()); // 输出: Square
    }
}

結論

ファクトリ メソッド パターンは、具体的なクラスのプロシージャとメソッドを分離した作成を提供する、柔軟で拡張可能な設計パターンです。 。これにより、コードの保守と拡張が容易になり、テスト容易性が向上します。

以上がJava デザイン パターン ファクトリ メソッド パターンが明らかにの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。