Sobes.tech
Junior — Middle

Jaká je role a použití vzorů továrních metod v programování?

sobes.tech AI

Odpověď od AI

Vzor továrního metody (Factory Method) se používá k vytváření objektů bez určení konkrétní třídy vytvářeného objektu. Definuje rozhraní pro vytváření objektu, ale umožňuje podtřídám rozhodnout, jakou třídu instancovat.

V Flutteru (a v programování obecně) se tovární metody používají k:

  • Zapouzdření logiky vytváření objektů, zejména pokud je tvorba složitá nebo závisí na podmínkách.
  • Umožnění změny konkrétní třídy vytvářeného objektu bez změny kódu, který jej používá.
  • Zjednodušení testování a rozšiřitelnosti kódu.

Příklad v Dart/Flutter:

abstract class Button {
  void render();
}

class AndroidButton implements Button {
  @override
  void render() => print('Renderování Android tlačítka');
}

class IOSButton implements Button {
  @override
  void render() => print('Renderování iOS tlačítka');
}

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

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

Zde je metoda createButton tovární metodou, která vytváří různé objekty v závislosti na platformě.