Sobes.tech
Junior — Middle

Aká je hlavná úloha BLoC v správe stavu v aplikáciách Flutter?

sobes.tech AI

Odpoveď od AI

Hlavná úloha BLoC (Business Logic Component) pri správe stavu v Flutteri je oddeliť obchodnú logiku od používateľského rozhrania, čím sa zabezpečí čistá architektúra a uľahčí testovanie.

BLoC prijíma udalosti (events) z UI, spracováva ich, mení stav a vracia nový stav späť do UI prostredníctvom tokov (Streams). To umožňuje UI reagovať na zmeny stavu bez priameho zásahu do logiky.

Takže, BLoC:

  • Centralizuje správu stavu.
  • Robí kód modulárnejším a znovu použiteľnejším.
  • Uľahčuje testovanie obchodnej logiky oddelene od rozhrania.

Príklad zjednodušeného BLoC:

class CounterBloc {
  final _counterController = StreamController<int>();
  int _counter = 0;

  Stream<int> get counterStream => _counterController.stream;

  void increment() {
    _counter++;
    _counterController.sink.add(_counter);
  }

  void dispose() {
    _counterController.close();
  }
}

UI sa prihlási na counterStream a aktualizuje sa pri každej zmene počítadla.