Java ファクトリーパターンの実装方法。
ファクトリーメソッドパターンは生成系デザインパターンの一種で、new 演算子を使用せずに、ファクトリーメソッドを呼び出すことでオブジェクトを生成する方法を提供します。ファクトリーメソッドパターンではオブジェクトの作成手順を抽象化するため、クライアントは具体的な作成ロジックを知る必要がなく、ファクトリーメソッドで必要なオブジェクトを取得するだけで済むようになります。
シンプルな Java ファクトリーパターン実装のコード例を以下に示します。
まず、抽象クラスにプロダクトのメソッドを含んだインタフェースを定義する必要があります。
public interface Product {
void use();
}
次に、インターフェースを実装する具体的なプロダクトクラスを作成します。
public class ConcreteProduct implements Product {
@Override
public void use() {
System.out.println("使用具体产品");
}
}
生産オブジェクトを作成する ファクトリメソッドを含む ファクトリクラスを作成します。
public class Factory {
public Product createProduct() {
return new ConcreteProduct();
}
}
最後に、ファクトリクラスのファクトリメソッドによって、製品オブジェクトを作成することができます。
public class Main {
public static void main(String[] args) {
Factory factory = new Factory();
Product product = factory.createProduct();
product.use();
}
}
上記の例では、Factory クラスの createProduct() メソッドを呼び出して具体的な製品オブジェクトを作成し、その use() メソッドを呼び出して製品を使用しています。
これはネイティブなJavaによるファクトリーパターンの実装例です。新しい製品を拡張しなければならないときは、新しい製品クラスを作成しProductインタフェースを実装するだけで済みます。そして、ファクトリークラスに応じた論理を追加するだけで、クライアントコードを変更する必要がありません。