Назад к вопросам
Junior — Middle
69
Можете объяснить, что подразумевается под паттерном фабрика в контексте проектирования программных систем?
Ответ от нейросети
sobes.tech AI
Паттерн «Фабрика» (Factory) — это порождающий паттерн проектирования, который используется для создания объектов без указания конкретного класса создаваемого объекта. Вместо прямого вызова конструктора, клиент обращается к фабричному методу или классу, который решает, какой именно объект создать.
Это полезно, когда нужно отделить процесс создания объектов от их использования, например, чтобы легко менять тип создаваемых объектов или добавлять новые без изменения клиентского кода.
Пример на Java:
interface Animal {
void speak();
}
class Dog implements Animal {
public void speak() {
System.out.println("Гав-гав");
}
}
class Cat implements Animal {
public void speak() {
System.out.println("Мяу");
}
}
class AnimalFactory {
public static Animal createAnimal(String type) {
if ("dog".equalsIgnoreCase(type)) {
return new Dog();
} else if ("cat".equalsIgnoreCase(type)) {
return new Cat();
}
throw new IllegalArgumentException("Неизвестный тип животного");
}
}
// Использование:
Animal animal = AnimalFactory.createAnimal("dog");
animal.speak(); // Выведет: Гав-гав
Таким образом, фабрика инкапсулирует логику создания объектов и упрощает расширение и поддержку кода.