Sobes.tech
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.