什麼是簡單工廠模式?

簡單工廠模式是最基本的工廠模式,它提供一個統一的介面來建立物件,而不需要直接使用 new 關鍵字。這種模式將物件的建立邏輯集中管理,提高了程式碼的可維護性。

核心概念

  • 統一介面:提供一個靜態方法來建立物件
  • 集中管理:將建立邏輯集中在一個地方
  • 降低耦合:客戶端不需要知道具體的實作細節

實際範例

// 產品介面
interface Vehicle {
    drive(): void;
}

// 具體產品
class Car implements Vehicle {
    drive(): void {
        console.log('Driving a car');
    }
}

class Bike implements Vehicle {
    drive(): void {
        console.log('Riding a bike');
    }
}

// 簡單工廠
class VehicleFactory {
    static create(type: 'car' | 'bike'): Vehicle {
        switch (type) {
            case 'car': 
                return new Car();
            case 'bike': 
                return new Bike();
            default: 
                throw new Error('Unknown vehicle type');
        }
    }
}

// 使用方式
const car = VehicleFactory.create('car');
const bike = VehicleFactory.create('bike');

car.drive(); // 輸出: Driving a car
bike.drive(); // 輸出: Riding a bike