Sobes.tech
Junior — Middle

Puoi spiegare il concetto e l'applicazione del metodo di fabbrica nei pattern di progettazione?

sobes.tech AI

Risposta dell'AI

Il pattern Factory Method è un pattern di progettazione che definisce un'interfaccia per creare un oggetto, ma permette alle sottoclassi di decidere quale classe istanziare.

Questo è utile quando si desidera delegare la creazione di oggetti alle sottoclassi, per non essere strettamente legati a classi specifiche.

Esempio in Swift:

protocol Product {
    func use()
}

class ConcreteProductA: Product {
    func use() {
        print("Utilizzo del prodotto A")
    }
}

class ConcreteProductB: Product {
    func use() {
        print("Utilizzo del prodotto B")
    }
}

protocol Creator {
    func factoryMethod() -> Product
}

class CreatorA: Creator {
    func factoryMethod() -> Product {
        return ConcreteProductA()
    }
}

class CreatorB: Creator {
    func factoryMethod() -> Product {
        return ConcreteProductB()
    }
}

// Uso
let creator: Creator = CreatorA()
let product = creator.factoryMethod()
product.use()  // Stampa: Utilizzo del prodotto A

In questo modo, il metodo di fabbrica consente di creare oggetti senza specificare la classe concreta, facilitando l'estensione e la manutenzione del codice.