Sobes.tech
Junior — Middle

Aká je úloha a použitie vzorov továrenských metód v programovaní?

sobes.tech AI

Odpoveď od AI

Vzor továrne (Factory Method) sa používá na vytváranie objektov bez určenia konkrétnej triedy vytváraného objektu. Definuje rozhranie na vytváranie objektu, ale umožňuje podtriedam rozhodnúť, ktorú triedu inštancovať.

V Flutteri (a v programovaní všeobecne) sa továrne metódy používajú na:

  • Zapuzdrovanie logiky vytvárania objektov, najmä ak je tvorba zložitá alebo závisí od podmienok.
  • Umožnenie zmeny konkrétnej triedy vytváraného objektu bez zmeny kódu, ktorý ho používa.
  • Zjednodušenie testovania a rozšíriteľnosti kódu.

Príklad v Dart/Flutter:

abstract class Button {
  void render();
}

class AndroidButton implements Button {
  @override
  void render() => print('Renderovanie Android tlačidla');
}

class IOSButton implements Button {
  @override
  void render() => print('Renderovanie iOS tlačidla');
}

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

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

Tu je metóda createButton továrna metóda, ktorá vytvára rôzne objekty v závislosti od platformy.