Junior — Middle
Proqram təminatı sistemlərinin dizaynında 'Abstrakt fabrikası' şablonunun konseptini və onun necə istifadə olunduğunu izah edin.
sobes.tech Süni İntellekt
AI-dan cavab
"Mürəkkəb Fabrika" (Abstract Factory) dizayn nümunəsi, əlaqəli və ya asılı obyektlərin ailələrini yaratmaq üçün interfeys təmin edən yaradıcı dizayn nümunəsidir.
Fikir, müştəri kodunu yaradılan obyektlərin konkret tətbiqlərindən ayırmaqdır, bu da məhsul ailələrini dəyişdirmədən istifadə etməyə imkan verir.
Flutter-də istifadə nümunəsi: Fərqli dizayn mövzuları və widget dəstləri (düymələr, giriş sahələri) olduğunu düşünək. Mürəkkəb fabrika, bu widget-ları yaratmaq üçün interfeys təmin edir və konkret fabrikalar onları aydın və qaranlıq mövzular üçün həyata keçirir.
abstract class WidgetFactory {
Button createButton();
TextField createTextField();
}
class LightThemeFactory implements WidgetFactory {
@override
Button createButton() => LightButton();
@override
TextField createTextField() => LightTextField();
}
class DarkThemeFactory implements WidgetFactory {
@override
Button createButton() => DarkButton();
@override
TextField createTextField() => DarkTextField();
}
// Müştəri kodu
void buildUI(WidgetFactory factory) {
var button = factory.createButton();
var textField = factory.createTextField();
// button və textField istifadə
}
Bu yanaşma kodun saxlanmasını və genişləndirilməsini asanlaşdırır, yeni məhsul ailələrini asanlıqla əlavə etməyə imkan verir.