Sobes.tech
Junior — Middle

Jaka jest główna rola BLoC w zarządzaniu stanem w aplikacjach Flutter?

sobes.tech AI

Odpowiedź od AI

Główna rola BLoC (Business Logic Component) w zarządzaniu stanem w Flutter polega na oddzieleniu logiki biznesowej od interfejsu użytkownika, zapewniając czystą architekturę i ułatwiając testowanie.

BLoC przyjmuje zdarzenia (events) z UI, przetwarza je, zmienia stan i przesyła nowy stan z powrotem do UI za pomocą strumieni (Streams). To pozwala UI reagować na zmiany stanu bez bezpośredniej ingerencji w logikę.

W związku z tym, BLoC:

  • Centralizuje zarządzanie stanem.
  • Uczy kod bardziej modułowego i wielokrotnego użytku.
  • Ułatwia testowanie logiki biznesowej oddzielnie od interfejsu.

Przykład uproszczonego 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 subskrybuje counterStream i aktualizuje się przy każdej zmianie licznika.