Назад к вопросам
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
Таким образом, фабричный метод позволяет создавать объекты без указания конкретного класса, что облегчает расширение и поддержку кода.