Junior — Middle
Abstrakt fabrikani tushuntirib berishingiz va uning dizayn shablonlaridagi maqsadini tushuntirishingiz mumkinmi?
sobes.tech AI
AIdan javob
Abstrakt fabrika — bu yaratuvchi dizayn naqshidir, u interfeýsini taqdim etadi va bog'liq yoki o'zaro bog'liq obyektlar oilasini yaratadi, ularning aniq sinflarini ko'rsatmasdan.
Naqshning maqsadi — birga ishlashlari kerak bo'lgan obyektlarni yaratishni ta'minlash, ularning aniq amalga oshirish tafsilotlarini yashirish. Bu tizim mahsulotlarni yaratish, tarkibga kiritish va taqdim etish usulidan mustaqil bo'lishi kerak bo'lsa, foydalidir.
Misol: iOS ilovasida, iOS va macOS uchun turlicha ko'rinishga ega, ammo bir xil interfeysga ega UI komponentlarini yaratish uchun abstrakt fabrika ishlatilishi mumkin.
protocol Button {
func render()
}
class iOSButton: Button {
func render() {
print("iOS uslubidagi tugmani chizish")
}
}
class MacOSButton: Button {
func render() {
print("macOS uslubidagi tugmani chizish")
}
}
protocol UIFactory {
func createButton() -> Button
}
class iOSFactory: UIFactory {
func createButton() -> Button {
return iOSButton()
}
}
class MacOSFactory: UIFactory {
func createButton() -> Button {
return MacOSButton()
}
}
// Foydalanish
let factory: UIFactory = iOSFactory()
let button = factory.createButton()
button.render() // iOS uslubidagi tugmani chizish