Sobes.tech
Junior — Middle

Kodda fabrika yöntemi deseninin uygulanmasına örnek verebilir misiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Fabrika yöntemi deseni, oluşturulacak nesnenin belirli sınıfını belirtmeden nesneler oluşturmayı sağlar. Flutter'da, farklı mantıklarla widgetlar oluşturmak için kullanışlıdır.

Dart'ta uygulama örneği:

abstract class Button {
  void render();
}

class AndroidButton implements Button {
  @override
  void render() {
    print('Android tarzı düğme render ediliyor');
  }
}

class IOSButton implements Button {
  @override
  void render() {
    print('iOS tarzı düğme render ediliyor');
  }
}

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 bağlı olarak uygun diyaloğu oluştur
  bool isAndroid = true;
  if (isAndroid) {
    dialog = AndroidDialog();
  } else {
    dialog = IOSDialog();
  }

  dialog.render();
}

Bu örnekte, fabrika yöntemi createButton, alt sınıfların farklı türlerde düğme nesneleri oluşturmasına izin verir ve istemci kodu soyutlamalarla çalışır.