Sobes.tech
Junior — Middle

Soyut fabrika kavramını ve tasarım desenlerindeki amacını açıklayabilir misiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Soyut fabrika, ilişkili veya bağımlı nesil aileleri oluşturmak için arayüz sağlayan, yaratıcı bir tasarım desenidir.

Desenin amacı, nesnelerin birlikte çalışmasını sağlamak ve bunların somut uygulama detaylarını gizlemektir. Bu, sistemin ürünlerin oluşturulma, bileşenlere ayrılma ve sunum biçiminden bağımsız olması gerektiğinde kullanışlıdır.

Örnek: bir iOS uygulamasında, iOS ve macOS'ta farklı görünümlere sahip, ancak aynı arayüze sahip UI bileşenleri oluşturmak için soyut bir fabrika kullanılabilir.

protocol Button {
    func render()
}

class iOSButton: Button {
    func render() {
        print("iOS tarzı düğme render ediliyor")
    }
}

class MacOSButton: Button {
    func render() {
        print("macOS tarzı düğme render ediliyor")
    }
}

protocol UIFactory {
    func createButton() -> Button
}

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

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

// Kullanım
let factory: UIFactory = iOSFactory()
let button = factory.createButton()
button.render() // iOS tarzı düğme render ediliyor