Sobes.tech
Junior — Middle

Pouvez-vous expliquer le concept de fabrique abstraite et son objectif dans les modèles de conception?

sobes.tech IA

Réponse de l'IA

La fabrique abstraite est un patron de conception créatif qui fournit une interface pour créer des familles d'objets liés ou dépendants sans spécifier leurs classes concrètes.

L'objectif du patron est d'assurer la création d'objets qui doivent fonctionner ensemble, en cachant les détails de leur implémentation concrète. Cela est utile lorsque le système doit être indépendant de la façon dont les produits sont créés, composés et présentés.

Exemple : dans une application iOS, on peut utiliser une fabrique abstraite pour créer des composants UI qui ont des apparences différentes sur iOS et macOS, mais qui ont la même interface.

protocol Button {
    func render()
}

class iOSButton: Button {
    func render() {
        print("Rendu du bouton style iOS")
    }
}

class MacOSButton: Button {
    func render() {
        print("Rendu du bouton style macOS")
    }
}

protocol UIFactory {
    func createButton() -> Button
}

class iOSFactory: UIFactory {
    func createButton() -> Button {
        return iOSButton()
    }
}

class MacOSFactory: UIFactory {
    func createButton() -> Button {
        return MacOSButton()
    }
}

// Utilisation
let factory: UIFactory = iOSFactory()
let button = factory.createButton()
button.render() // Rendu du bouton style iOS