Sobes.tech
Junior — Middle

Proqramlaşdırmada fabrik metodlarının rolu və tətbiqi nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Fabrika Metodu (Factory Method) nümunəsi, yaradılan obyektin konkret sinfini göstərmədən obyektlər yaratmaq üçün istifadə olunur. Bu, obyektin yaradılması üçün interfeys müəyyən edir, lakin alt siniflərə hansı sinfin instansiya ediləcəyinə qərar verməyə imkan verir.

Flutterda (və ümumi proqramlaşdırmada) fabrik metodları aşağıdakı məqsədlər üçün tətbiq olunur:

  • Obiektlərin yaradılma məntiqini kapsülləşdirmək, xüsusən də yaradılma mürəkkəbdirsə və ya şərtlərə bağlıdırsa.
  • Yaradılan obyektin konkret sinfini dəyişdirməyə imkan vermək, onu istifadə edən kodu dəyişmədən.
  • Kodun test edilməsini və genişləndirilməsini asanlaşdırmaq.

Dart/Flutter nümunəsi:

abstract class Button {
  void render();
}

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

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

class Dialog {
  Button createButton(String platform) {
    if (platform == 'Android') {
      return AndroidButton();
    } else if (platform == 'iOS') {
      return IOSButton();
    } else {
      throw Exception('Naməlum platforma');
    }
  }

  void render() {
    Button button = createButton('Android');
    button.render();
  }
}

Burada, createButton metodu platformaya görə müxtəlif obyektlər yaradan fabrik metodudur.