ファクトリーパターンの実装方法 – JavaScriptで始めるプログラミング

ファクトリーパターンの実装方法 – JavaScriptで始めるプログラミング

ファクトリーパターンはオブジェクト指向プログラミングにおいて、特定のクラスのオブジェクトを生成する方法の1つです。JavaScriptを用いると、柔軟で拡張性のあるコードを簡単に作成できます。

ファクトリーパターンとは

ファクトリーパターンは、インスタンス生成の詳細を隠蔽し、インスタンスを返すメソッド(ファクトリーメソッド)を提供するデザインパターンです。

Wikipedia(外部リンク)

ファクトリーパターンの利点

  • オブジェクト生成のコードの重複を避ける
  • コードの可読性と保守性を向上
  • クラスのインスタンス生成時の柔軟性を確保

実装方法

ファクトリーパターンの実装はシンプルです。以下の例を見てみましょう。

class Car {
    constructor(model) {
        this.model = model;
    }
}

class CarFactory {
    createCar(model) {
        return new Car(model);
    }
}

const factory = new CarFactory();
const car1 = factory.createCar('Toyota');
const car2 = factory.createCar('Honda');

console.log(car1.model); // トヨタ
console.log(car2.model); // ホンダ

詳細な説明

  1. まず、Carクラスを定義します。
  2. 次に、CarFactoryクラスを定義し、このクラスにオブジェクト生成の処理を移譲します。
  3. 最後に、CarFactoryのインスタンスを使用してCarオブジェクトを生成します。
さらに進んだ例

単なるオブジェクト生成以外の拡張も容易に行えます。例えば、オブジェクトの生成後に初期化処理を追加することもできます。

class Car {
    constructor(model) {
        this.model = model;
    }
    
    setColor(color) {
        this.color = color;
    }
}

class CarFactory {
    createCar(model, color) {
        const car = new Car(model);
        car.setColor(color);
        return car;
    }
}

const factory = new CarFactory();
const car1 = factory.createCar('Toyota', 'Red');
const car2 = factory.createCar('Honda', 'Blue');

console.log(car1); // { model: 'Toyota', color: 'Red' }
console.log(car2); // { model: 'Honda', color: 'Blue' }
最後に

ファクトリーパターンは、JavaScriptに限らず多くのプログラミング言語で利用可能なデザインパターンです。具体的な使用例を通じて、パターンの利点と実装方法を深く理解することが重要です。時間をかけて練習し、自分のプロジェクトに適用してみましょう。

コメントを残す