두 아키텍쳐는 flux를 기반하고 Dispatcher, Store, View 크게 세 부분으로 나누고 State
, Action
, Reducer
의 개념으로 단방향 데이터 흐름을 만든다.
flux를 직접 공부한 적은 없지만 flux를 기반으로 발전해온 ReactorKit과 TCA는 동일한 문제점들을 발견했다.
상태(State)를 하나의 struct로 관리한다는 것이다.
아무리 struct가 스택 메모리의 데이터는 오버헤드가 적지만 모든 상태를 하나로 묶어서 관리한다면 아래와 같은 문제가 발생 할 수 있다.
1. 비교가 불필요한 멤버들까지 확인이 이루어진다.
상위뷰의 State
가 하위 뷰의 State
를 포함하고 있는 경우가 있는데, 이 문제가 발생 할 것이다.