Junior — Middle
Абстракт фабрика концепциясын жана анын долбоорлоо үлгүлөрүндөгү максатын түшүндүрө аласызбы?
sobes.tech AI
AIден жооп
Абстракттуу фабрика — бул түзүүчү дизайн үлгүсү, ал интерфейс камсыз кылат байланыштуу же көзкаранды объекттердин үй-бүлөлөрүн түзүү үчүн, алардын так класстарын көрсөтпөстөн.
Модулдун максаты — бирге иштөө керек болгон объекттердин түзүлүшүн камсыз кылуу, алардын так ишке ашыруу деталдарын жашыруу. Бул системанын продуктуларды түзүү, түзүү жана көрсөтүү ыкмасын көзкарандысыз кылышы керек болгондо пайдалуу.
Мисал: iOS тиркемесинде, UI компоненттерин түзүү үчүн абстракттуу фабриканы колдонсо болот, алар iOS жана macOSто ар башка көрүнүштө болушу мүмкүн, бирок бирдей интерфейсти сактайт.
protocol Button {
func render()
}
class iOSButton: Button {
func render() {
print("iOS стилиндеги баскычты чийүү")
}
}
class MacOSButton: Button {
func render() {
print("macOS стилиндеги баскычты чийүү")
}
}
protocol UIFactory {
func createButton() -> Button
}
class iOSFactory: UIFactory {
func createButton() -> Button {
return iOSButton()
}
}
class MacOSFactory: UIFactory {
func createButton() -> Button {
return MacOSButton()
}
}
// Колдонуу
let factory: UIFactory = iOSFactory()
let button = factory.createButton()
button.render() // iOS стилиндеги баскычты чийүү