Sobes.tech
Назад к вопросам
Junior — Middle
69

Можете объяснить концепцию паттерна Factory и его основной принцип работы?

Компании, где спрашивали
Itexus
bip.ru

Ответ от нейросети

sobes.tech AI

Паттерн Factory (Фабрика) — это порождающий шаблон проектирования, который предоставляет интерфейс для создания объектов, но позволяет подклассам решать, какой класс инстанцировать.

Основной принцип работы:

  • Вместо прямого вызова конструктора конкретного класса, клиент обращается к фабричному методу.
  • Фабричный метод создает и возвращает объект нужного типа, скрывая детали создания.

Это позволяет легко менять создаваемые объекты без изменения кода клиента, улучшая гибкость и расширяемость.

Пример на Swift:

protocol Product {
    func use()
}

class ConcreteProductA: Product {
    func use() {
        print("Используется продукт A")
    }
}

class ConcreteProductB: Product {
    func use() {
        print("Используется продукт B")
    }
}

class Factory {
    static func createProduct(type: String) -> Product? {
        switch type {
        case "A": return ConcreteProductA()
        case "B": return ConcreteProductB()
        default: return nil
        }
    }
}

let product = Factory.createProduct(type: "A")
product?.use()  // Выведет: Используется продукт A