Sobes.tech
Back to questions
Junior — Middle
63

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

Answer from AI

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("Работа продукта");
    }
}

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