Sobes.tech
Junior — Middle

Qual è la funzione principale del pattern Factory nella programmazione orientata agli oggetti?

sobes.tech AI

Risposta dell'AI

Il pattern Factory nella programmazione orientata agli oggetti è progettato per creare oggetti senza dover specificare direttamente la classe concreta dell'oggetto da creare. La sua funzione principale è incapsulare la logica di creazione degli oggetti, permettendo:

  • di eliminare la dipendenza rigida del codice da classi specifiche.
  • di semplificare l'espansione e la manutenzione del codice (ad esempio, aggiungendo nuovi tipi di oggetti).
  • di centralizzare la creazione degli oggetti, migliorando leggibilità e gestibilità.

Esempio semplice di Factory in Java:

interface Animal {
    void speak();
}

class Dog implements Animal {
    public void speak() { System.out.println("Woof"); }
}

class Cat implements Animal {
    public void speak() { System.out.println("Meow"); }
}

class AnimalFactory {
    public static Animal createAnimal(String type) {
        if ("dog".equalsIgnoreCase(type)) return new Dog();
        else if ("cat".equalsIgnoreCase(type)) return new Cat();
        else throw new IllegalArgumentException("Unknown animal type");
    }
}

// Utilizzo:
Animal animal = AnimalFactory.createAnimal("dog");
animal.speak(); // Stampa: Woof