Sobes.tech
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.