Sobes.tech
Junior — Middle

Koja je osnovna svrha Factory paterna u razvoju softvera?

sobes.tech АИ

Одговор од АИ

Шаблонът 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("Непознат тип");
    }
}

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