Junior — Middle
Kodda fabrik metodasi naqshini amalga oshirish misolini keltira olasizmi?
sobes.tech AI
AIdan javob
Fabrika usuli metodasi, yaratiladigan ob'ektning aniq sinfini ko'rsatmasdan, ob'ektlarni yaratishga imkon beradi. Flutterda bu turli mantiqqa ega vidjetlarni yaratishda qulay.
Dartda amalga oshirish misoli:
abstract class Button {
void render();
}
class AndroidButton implements Button {
@override
void render() {
print('Android uslubidagi tugma render qilish');
}
}
class IOSButton implements Button {
@override
void render() {
print('iOS uslubidagi tugma render qilish');
}
}
abstract class Dialog {
Button createButton();
void render() {
Button button = createButton();
button.render();
}
}
class AndroidDialog extends Dialog {
@override
Button createButton() => AndroidButton();
}
class IOSDialog extends Dialog {
@override
Button createButton() => IOSButton();
}
void main() {
Dialog dialog;
// Platformaga qarab, kerakli dialogni yaratamiz
bool isAndroid = true;
if (isAndroid) {
dialog = AndroidDialog();
} else {
dialog = IOSDialog();
}
dialog.render();
}
Ushbu misolda, fabrik metod createButton yordamida, kichik sinflar turli turdagi tugmalar ob'ektlarini yaratishi mumkin, va mijoz kodi abstraktsiyalar bilan ishlaydi.