Назад к вопросам
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