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.