그냥저냥

BLoC Concepts - 훑어보기 (3) 본문

개발기/Dart,Flutter

BLoC Concepts - 훑어보기 (3)

sync86 2024. 10. 15. 07:00
728x90
반응형

시작하기 가이드를 보다 문뜩 Cubit에 대해 설명하다가 Bloc에 대해 나온다. 무슨 연관이 있는거지? 싶었는데 좀 더 자세히 보니 차이가 있다.

 

Cubit는 state 변화를 촉발하기 위한 함수를 외부에 노출한다. 

<그림 1> Cubit 개념도

 

Bloc는 함수가 아닌 event에 의존하여 state 변화를 촉발하는 고급 클래스이다.

<그림 2> Bloc 개념도

 

둘다 BlocBase를 상속 받아 구현되고, state를 변화를 함수를 노출시켜 를 통지하느냐, 이벤트 형태 변화를 통지하느냐의 차이인 것 같다.

 

무슨 차이일까? 그리고 왜 이렇게 분리가 되어 있을까?

 

이 생각만 멤돌고 있다.

 

아래에서 Cubit vs Bloc라고 각각의 장단점에 대해 설명한다. Cubit의 가장 큰 장점은 단순성이라고 하는데, Bloc 보다 함수만 외부에 노출하기 때문에 보다 쉽게 이해할 수 있고, 코드가 더 적다고 한다. 

 

굳이 2개로 나눠놓을 필요가 있었을까?

 

예를들어 Bloc를 처음 만들었는데 복잡해서 더 간단하게 만들기 위해서 Cubit을 만들었다거나 아니면 반대의 경우라던가 Cubit과 Bloc가 어떤 관계가 있을까? BLoC를 접한지 얼마 안되서 알 수 없는 영역인것일까? 그 이유를 모르는 것은 나 뿐인 것일까? 모르겠다. 힌트라도 얻을 수 있을까?

728x90
반응형

'개발기 > Dart,Flutter' 카테고리의 다른 글

Dart/Flutter 테스트 | Counter  (0) 2025.03.04
Cubit과 BLoC가 공존하는 이유!  (0) 2024.10.17
요즘 BLoC를 훑어보게 된 이유?  (0) 2024.10.16
BLoC Concepts - 훑어보기 (2)  (0) 2024.10.14
BLoC Concepts - 훑어보기 (1)  (0) 2024.10.13