Sobes.tech
Back to questions
Junior — Middle
79

Каково основное предназначение паттерна Factory в разработке программного обеспечения?

Companies where asked
Sogwell

Answer from AI

sobes.tech AI

Паттерн Factory (Фабрика) предназначен для создания объектов без необходимости указывать конкретный класс создаваемого объекта в коде клиента. Это позволяет:

  • Инкапсулировать логику создания объектов.
  • Упростить замену и расширение типов создаваемых объектов.
  • Повысить гибкость и поддерживаемость кода.

Например, вместо прямого вызова конструктора, клиент обращается к фабричному методу, который возвращает нужный объект в зависимости от параметров или конфигурации.

Пример на псевдокоде:

interface Product {}

class ConcreteProductA implements Product {}
class ConcreteProductB implements Product {}

class Factory {
    public static Product createProduct(String type) {
        if (type.equals("A")) return new ConcreteProductA();
        else if (type.equals("B")) return new ConcreteProductB();
        else throw new IllegalArgumentException("Unknown type");
    }
}

// Использование:
Product product = Factory.createProduct("A");