Sobes.tech
Junior — Middle

Dizayn shablonlarida fabrik metodining konseptsiyasi va qo'llanilishini tushuntirib bera olasizmi?

sobes.tech AI

AIdan javob

Fabrika usul (Factory Method) — bu dizayn shabloni bo‘lib, u ob'ektni yaratish uchun interfeysni belgilaydi, ammo subklasslarga qaysi klassni instansiyalashni hal qilish imkonini beradi.

Bu, ob'ektlarni yaratishni subklasslarga topshirish kerak bo‘lganda, aniq klasslarga qattiq bog‘lanishni oldini olish uchun foydalidir.

Swiftda misol:

protocol Product {
    func use()
}

class ConcreteProductA: Product {
    func use() {
        print("A mahsulotidan foydalanilmoqda")
    }
}

class ConcreteProductB: Product {
    func use() {
        print("B mahsulotidan foydalanilmoqda")
    }
}

protocol Creator {
    func factoryMethod() -> Product
}

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

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

// Foydalanish
let creator: Creator = CreatorA()
let product = creator.factoryMethod()
product.use()  // Chiqish: A mahsulotidan foydalanilmoqda

Shu tarzda, fabrik metod ob'ektlarni aniq klassni ko‘rsatmasdan yaratishga imkon beradi, bu esa kodni kengaytirish va qo‘llab-quvvatlashni osonlashtiradi.