Sobes.tech
Junior — Middle

Kodda fabrik metodunun tətbiqi nümunəsini göstərə bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

Fabrika metodu nümunəsi, yaradılacaq obyektin konkret sinfini göstərmədən obyektlər yaratmağa imkan verir. Flutter-də bu, müxtəlif məntiqə malik vidjetlərin yaradılması üçün əlverişlidir.

Dart-də tətbiq nümunəsi:

abstract class Button {
  void render();
}

class AndroidButton implements Button {
  @override
  void render() {
    print('Android üslubunda düyməni render et');
  }
}

class IOSButton implements Button {
  @override
  void render() {
    print('iOS üslubunda düyməni render et');
  }
}

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;

  // Platforma əsasən, lazım olan dialoqu yaradın
  bool isAndroid = true;
  if (isAndroid) {
    dialog = AndroidDialog();
  } else {
    dialog = IOSDialog();
  }

  dialog.render();
}

Bu nümunədə, fabrik metodu createButton alt siniflərin müxtəlif növ düymə obyektləri yaratmasına imkan verir və müştəri kodu abstraksiyalar ilə işləyir.