홍서희
안녕하세요, FSD (Feature-Sliced Design) 아키텍처를 학습하고 계신 분들과 함께 widgets 레이어의 본질적인 의미에 대해 심도 깊은 토론을 해보고자 합니다.
개인적으로 FSD를 공부하면서, features 레이어를 '시스템 상태를 변경하는 행위' (예: POST/PUT과 같은 개념)와 관련된 로직으로, entities 레이어를 '시스템으로부터 정보를 조회하고 표시하는' (예: GET과 같은 개념) 로직으로 이해하고 분류하는 기준을 세웠습니다. 이러한 이해는 FSD 공식 문서의 features 및 entities 레이어 정의와도 일맥상통한다고 생각합니다.
하지만 여기서 widgets 레이어에 대한 궁금증이 생겼습니다.
FSD 공식 문서에서는 widgets 레이어를
features와 entities를 조합하여 만들어지는 독립적인 UI 컴포넌트
라고 설명하고 있습니다.
그렇다면 widgets 레이어의 본질적인 의미는 단순히 features와 entities를 가져와서 UI에 배치하는 '조합' 역할에 그치는 것일까요? 아니면 그 이상의 고유한 존재 이유를 가지고 있을까요?
특히, 저는 layout 컴포넌트가 entities나 features의 직접적인 비즈니스 로직 조합이 아님에도 불구하고, widgets 레이어와 함께 언급되거나 넓은 의미에서 widgets의 범주에 포함될 수 있다는 점에 주목하고 싶습니다.
다양한 의견으로 토론해보고 싶습니다!