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

Объясните концепцию паттерна Factory Method и его основное применение в проектировании программного обеспечения.

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

sobes.tech AI

Паттерн Factory Method — это порождающий шаблон проектирования, который определяет интерфейс для создания объекта, но позволяет подклассам решать, какой класс инстанцировать. Это позволяет делегировать создание объектов подклассам, не завязываясь на конкретных классах в коде клиента.

Основное применение — когда система должна быть независимой от способа создания, композиции и представления объектов, или когда нужно предоставить подклассам возможность изменять тип создаваемых объектов.

Пример на Java:

// Интерфейс продукта
interface Product {
    void use();
}

// Конкретный продукт
class ConcreteProduct implements Product {
    public void use() {
        System.out.println("Использование конкретного продукта");
    }
}

// Создатель с фабричным методом
abstract class Creator {
    public abstract Product factoryMethod();

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

// Конкретный создатель
class ConcreteCreator extends Creator {
    public Product factoryMethod() {
        return new ConcreteProduct();
    }
}

// Использование
public class Main {
    public static void main(String[] args) {
        Creator creator = new ConcreteCreator();
        creator.someOperation();
    }
}