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.