- Bloc
- Provider
- GetX
- riverpod
Bloc
Bussiness Logic Component 의 줄임말
https://velog.io/@osung/Flutter-Bloc
사용 선언:
전역 변수로 선언해서 사용 , 혹은 provider 랑 연계해서 사용하기도 한다.
상태 변경:
Stream을 만들어주고 Sink를 더함으로 상태를 변경한다.
UI 상태 받아 처리하기:
StreamBuilder 위젯을 사용하여 상태를 받을 수 있다.
BLoC 의 특징
- UI 에서는 여러 BLoC 이 존재할 수 있다.
- UI 에서는 화면에 집중하고, BLoC 에서는 Logic 에 집중한다.
- UI 에서는 BLoC 의 내부 구현에 대해서 몰라도 된다.
- BLoC 은 여러 UI 에서 구독 할 수 있다. 때문에 재사용이 용의하다.
- BLoC 만을 분리해서 테스트가 가능하다.
장점
- UI와 비즈니스 로직의 의존성이 낮기 때문에 어렵지 않게 기능을 확장하거나 보수할 수 있다