Business Logic Component
플러터 애플리케이션에서 상태 관리 및 비즈니스 로직을 분리하고 관리하기 위한 디자인 패턴
-
상태분리
- 애플리케이션의 상태와 UI를 분리하여 관리합니다.
- UI 렌더링 로직과 비즈니스 로직을 분리하여 코드관리를 용이하게 합니다.
-
이벤트 처리
- 사용자 입력 또는 데이터 변경과 같은 이벤트를 처리합니다.
- 이벤트는 bloc으로 전달되어 상태변화를 일으키며, 이에 따라 UI가 업데이트 됩니다.
-
상태 스트림
- bloc은 Stream을 사용하여 애플리케이션의 상태를 갱신합니다.
- 상태 스트림을 통해 UI는 bloc의 상태를 구독하고, 상태가 업데이트 될때마다 UI가 갱신됩니다.
-
단일 책임 원칙
- 각 bloc은 특정 부분의 비즈니스 로직과 상태를 관리합니다.
- 더 작은 단위로 분할하고 모듈화하여 관리할 수 있습니다.
-
bloc
- 비즈니스 로직과 상태를 관리하는 클래스
- 이벤트를 입력받아 상태를 변화시키며, UI에 상태를 제공하는 스트림을 제공합니다.
-
이벤트
- 사용자 입력 또는 데이터 변경과 같은 액션을 나타내는 클래스
- bloc으로 전달되어 상태 변경을 유발합니다.
-
UI
- 사용자 인터페이스를 구성하는 위젯입니다.
- UI는 bloc의 상태를 구독하여 상태에 따라 UI를 업데이트 합니다.
flutter pub add flutter_bloc // 명령어를 터미널에 입력하여 라이브러리 패키지를 추가합니다.
flutter pub add bloc
OR
dependencies:
flutter:
sdk: flutter
flutter_bloc: ^8.1.5