Sobes.tech
Junior — Middle

Qual é o papel principal do BLoC na gestão de estado em aplicações Flutter?

sobes.tech IA

Resposta da IA

O papel principal do BLoC (Business Logic Component) na gestão de estado no Flutter é separar a lógica de negócio da interface de utilizador, garantindo uma arquitetura limpa e facilitando os testes.

O BLoC recebe eventos (events) da UI, processa-os, altera o estado e transmite o novo estado de volta para a UI através de fluxos (Streams). Isto permite que a UI reaja às mudanças de estado sem intervenção direta na lógica.

Assim, o BLoC:

  • Centraliza a gestão do estado.
  • Torna o código mais modular e reutilizável.
  • Facilita o teste da lógica de negócio separadamente da interface.

Exemplo de um BLoC simplificado:

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();
  }
}

A UI subscreve-se ao counterStream e atualiza-se a cada alteração do contador.