Junior — Middle
Dasturlashda fabrik metodlari shablonlarining roli va qo'llanilishi qanday?
sobes.tech AI
AIdan javob
Fabrika usulining (Factory Method) modeli, yaratiladigan ob'ektning aniq sinfini ko'rsatmasdan ob'ektlar yaratish uchun ishlatiladi. U ob'ektni yaratish uchun interfeysni belgilaydi, ammo qaysi sinfni instansiyalashni pastki sinflarga qoldiradi.
Flutterda (va umuman dasturlashda) fabrik metodlar quyidagi maqsadlar uchun qo'llaniladi:
- Ob'ektlarni yaratish mantiqini kapsüllash, ayniqsa, agar yaratish murakkab bo'lsa yoki shartlarga bog'liq bo'lsa.
- Yaratilayotgan ob'ektning aniq sinfini o'zgartirish imkonini berish, uni ishlatadigan kodni o'zgartirmasdan.
- Kodni test qilish va kengaytirishni osonlashtirish.
Dart/Flutter misoli:
abstract class Button {
void render();
}
class AndroidButton implements Button {
@override
void render() => print('Android tugmasini chizish');
}
class IOSButton implements Button {
@override
void render() => print('iOS tugmasini chizish');
}
class Dialog {
Button createButton(String platform) {
if (platform == 'Android') {
return AndroidButton();
} else if (platform == 'iOS') {
return IOSButton();
} else {
throw Exception('Noma’lum platforma');
}
}
void render() {
Button button = createButton('Android');
button.render();
}
}
Bu yerda createButton metodi platformaga qarab turli ob'ektlarni yaratadigan fabrik metod hisoblanadi.