Sobes.tech
Назад к вопросам
Junior — Middle
64

Какой паттерн используется для инкапсуляции процесса создания объектов?

Ответ от нейросети

sobes.tech AI

Для инкапсуляции процесса создания объектов используется паттерн "Фабричный метод" (Factory Method). Он позволяет создавать объекты, не указывая конкретных классов создаваемых объектов, а делегирует это подклассам.

Пример на Java:

abstract class Creator {
    abstract Product factoryMethod();

    void someOperation() {
        Product product = factoryMethod();
        product.doSomething();
    }
}

class ConcreteCreator extends Creator {
    @Override
    Product factoryMethod() {
        return new ConcreteProduct();
    }
}

interface Product {
    void doSomething();
}

class ConcreteProduct implements Product {
    public void doSomething() {
        System.out.println("Работа продукта");
    }
}

Такой подход упрощает расширение и поддержку кода.