Sobes.tech
Назад к вопросам
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(); // Выведет: Гав-гав
    }
}

Такой подход упрощает расширение системы и инкапсулирует логику создания объектов.