Junior — Middle
126
Pouvez-vous expliquer ce que l'on entend par le motif usine dans le contexte de la conception de systèmes logiciels?
Réponse de l'IA
sobes.tech IA
Паттерн «Фабрика» (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(); // Выведет: Гав-гав
Таким образом, фабрика инкапсулирует логику создания объектов и упрощает расширение и поддержку кода.