Sobes.tech
Junior — Middle

Care este scopul principal al pattern-ului Factory în dezvoltarea software?

sobes.tech AI

Răspuns de la AI

Modelul Factory (Fabrică) este conceput pentru a crea obiecte fără a fi necesar să specificați clasa concretă a obiectului creat în codul client. Acest lucru permite:

  • Încapsularea logicii de creare a obiectelor.
  • Simplificarea înlocuirii și extinderii tipurilor de obiecte create.
  • Creșterea flexibilității și întreținerii codului.

De exemplu, în loc să apelați direct constructorul, clientul apelează o metodă de fabrică care returnează obiectul necesar în funcție de parametri sau configurație.

Exemplu în pseudocod:

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("Tip necunoscut");
    }
}

// Utilizare:
Product product = Factory.createProduct("A");