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

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

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

Паттерн 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

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее