Назад к вопросам
Junior — Middle
65
Каким образом реализовать паттерн Factory для создания объектов в своей системе?
Ответ от нейросети
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("Unknown animal type");
}
}
// Использование
public class Main {
public static void main(String[] args) {
Animal animal = AnimalFactory.createAnimal("dog");
animal.speak(); // Выведет: Гав-гав
}
}
Такой подход упрощает расширение системы и инкапсулирует логику создания объектов.