Sobes.tech
Junior — Middle

Koja je uloga i primena šablona fabrickih metoda u programiranju?

sobes.tech АИ

Одговор од АИ

Šablon Fabrika Metoda (Factory Method) koristi se za kreiranje objekata bez navođenja konkretne klase objekta koji se kreira. On definiše interfejs za kreiranje objekta, ali omogućava podklasama da odluče koju klasu da instanciraju.

U Flutteru (i u programiranju uopšte), fabrike metode se koriste za:

  • Inkapsulaciju logike kreiranja objekata, posebno ako je kreiranje složeno ili zavisi od uslova.
  • Omogućavanje promene konkretne klase objekta bez promene koda koji ga koristi.
  • Olakšavanje testiranja i proširivosti koda.

Primer u Dart/Flutter:

abstract class Button {
  void render();
}

class AndroidButton implements Button {
  @override
  void render() => print('Render Android dugmeta');
}

class IOSButton implements Button {
  @override
  void render() => print('Render iOS dugmeta');
}

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

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

Ovde, metoda createButton je fabrika metoda koja kreira različite objekte u zavisnosti od platforme.