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

Можете объяснить концепцию и применение фабричного метода в паттернах проектирования?

Компании, где спрашивали
Мидлэнд

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

sobes.tech AI

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

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

Пример на Swift:

protocol Product {
    func use()
}

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

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

protocol Creator {
    func factoryMethod() -> Product
}

class CreatorA: Creator {
    func factoryMethod() -> Product {
        return ConcreteProductA()
    }
}

class CreatorB: Creator {
    func factoryMethod() -> Product {
        return ConcreteProductB()
    }
}

// Использование
let creator: Creator = CreatorA()
let product = creator.factoryMethod()
product.use()  // Выведет: Используем продукт A

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