Что такое паттерн Factory

Ответ

Паттерн Factory — это порождающий шаблон проектирования, который предоставляет интерфейс для создания объектов, но делегирует выбор их типа подклассам или фабричным методам. Он помогает инкапсулировать логику создания объектов, делая код более гибким и расширяемым.

Пример с кодом:

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

class CarFactory {
  create(type) {
    switch(type) {
      case 'Audi': return new Car('Audi', 50000);
      case 'BMW': return new Car('BMW', 60000);
      default: throw new Error('Unknown car type');
    }
  }
}

const factory = new CarFactory();
const bmw = factory.create('BMW'); // Car { model: 'BMW', price: 60000 }

Основные преимущества:

  • Изоляция кода создания объектов
  • Гибкость при добавлении новых типов
  • Упрощение поддержки кода