Junior — Middle
Əsas fabrikanın konseptini və onun dizayn nümunələrində məqsədini izah edə bilərsinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
Məntiqi fabrike, əlaqəli və ya asılı obyektlər ailəsini yaratmaq üçün interfeys təmin edən, yaradıcı dizayn nümunəsidir.
Nümunənin məqsədi, birlikdə işləməli olan obyektlərin yaradılmasını təmin etmək və onların konkret tətbiq detallarını gizləməkdir. Bu, sistem məhsulların yaradılması, tərkibə daxil edilməsi və təqdimatı üsulundan asılı olmamalı olduqda faydalıdır.
Misal: iOS tətbiqində, iOS və macOS-da fərqli görünən, lakin eyni interfeysə malik UI komponentləri yaratmaq üçün abstrakt fabrike istifadə edilə bilər.
protocol Button {
func render()
}
class iOSButton: Button {
func render() {
print("iOS üslubunda düyməni çək")
}
}
class MacOSButton: Button {
func render() {
print("macOS üslubunda düyməni çək")
}
}
protocol UIFactory {
func createButton() -> Button
}
class iOSFactory: UIFactory {
func createButton() -> Button {
return iOSButton()
}
}
class MacOSFactory: UIFactory {
func createButton() -> Button {
return MacOSButton()
}
}
// İstifadə
let factory: UIFactory = iOSFactory()
let button = factory.createButton()
button.render() // iOS üslubunda düyməni çək