Intent : 의도를
Model : 상태로 만들어
View : 표시하는 것
User 상호작용 → Intent 생성 → State or SideEffect 생성 → View가 State or SideEffect 변화를 collect → view 변경
순수 함수 : 함수의 입력만이 함수의 결과에 영향을 주는 함수.
Pure Cycle 또한 순수 함수와 같은 맥락. 모든 행동(intent)의 결과는 state로 귀결됨.
각 페이지별로 하나의 state만 만들어두고, 해당 state를 덮어쓰기 하며 사용함. → 단 하나의 state만 존재하기 때문에 여러 state가 중복된다거나, 충돌하는 경우가 없음.
부수효과(Side Effect) : 외부세계 상태를 변화시키거나, 외부 세계로부터 상태 변화
SideEffectCycle == Pure Cycle + SideEffect
일반적으로 화면이 변해야 하는경우(Recomposition)이 아닌 모든 경우가 SideEffect라고 생각하면 됨.
Pure Cycle에서 벗어난 모든 상태는 SideEffect! ex) toast