Sobes.tech
Junior — Middle

Spiega il principio di funzionamento e lo scopo del pattern 'fabbrica' nella programmazione orientata agli oggetti.

sobes.tech AI

Risposta dell'AI

Il pattern «Factory» (Fabbrica) viene utilizzato per creare oggetti senza specificare la classe concreta dell'oggetto da creare. La sua funzione principale è incapsulare la logica di creazione degli oggetti, facilitando l'estensione e la manutenzione del codice.

Principio di funzionamento:

  • Il client si rivolge a un metodo o classe di fabbrica che restituisce un oggetto di interfaccia o classe base.
  • La fabbrica decide quale classe concreta creare, nascondendo i dettagli al client.

Esempio in C#:

// Interfaccia del prodotto
interface IAnimal {
    void Speak();
}

// Prodotti concreti
class Dog : IAnimal {
    public void Speak() => Console.WriteLine("Bau");
}
class Cat : IAnimal {
    public void Speak() => Console.WriteLine("Miao");
}

// Fabbrica
class AnimalFactory {
    public static IAnimal CreateAnimal(string type) {
        return type switch {
            "dog" => new Dog(),
            "cat" => new Cat(),
            _ => throw new ArgumentException("Tipo di animale sconosciuto")
        };
    }
}

// Uso
var animal = AnimalFactory.CreateAnimal("dog");
animal.Speak(); // Stampa "Bau"

Questo approccio rende più facile aggiungere nuovi tipi di oggetti senza modificare il codice del client.