Junior — Middle
Jaká je hlavní role BLoC v řízení stavu v aplikacích Flutter?
sobes.tech AI
Odpověď od AI
Hlavní rolí BLoC (Business Logic Component) při správě stavu v Flutteru je oddělení obchodní logiky od uživatelského rozhraní, čímž se zajišťuje čistá architektura a usnadňuje testování.
BLoC přijímá události (events) z UI, zpracovává je, mění stav a zpět předává nový stav přes stream (Streams). To umožňuje UI reagovat na změny stavu bez přímého zásahu do logiky.
Tedy, BLoC:
- Centralizuje správu stavu.
- Dělá kód modulárnější a znovu použitelnější.
- Usnadňuje testování obchodní logiky odděleně od rozhraní.
Pří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 se přihlašuje k counterStream a aktualizuje se při každé změně počítadla.