요점: 층위별로 관리 범위가 다르다. 상위 아키텍처 위에 UI 패턴을 얹고, 그 안을 컴포넌트 패턴으로 구체화한다.
┌───────────────────────────────────────┐
프론트엔드 아키텍처 (앱 구조/의존 규칙)
• 레이어드 아키텍처 • 클린 아키텍처 • FSD
└───────────────────────────────────────┘
▲ 조합
│
┌───────────────────────────────────────┐
UI 아키텍처 패턴 (화면 로직 조직)
• MVVM • MVP • MVI
└───────────────────────────────────────┘
▲ 구체화
│
┌───────────────────────────────────────┐
컴포넌트 디자인 패턴 (컴포넌트 구조화)
• 컨테이너–프리젠테이션 • 아토믹 디자인
└───────────────────────────────────────┘
| 항목 | 레이어드 | 클린 | FSD |
|---|---|---|---|
| 목적 | 수평 계층 분리 | DIP로 기술 독립성 | 기능 단위 모듈화 |
| 의존 규칙 | 상위 → 바로 아래 | 항상 코어 안쪽으로 | 상위 규칙 + 슬라이스 제약 |
| UI와의 관계 | Presentation 내부에 MVVM 등 적용 | Interface Adapters에서 MVP/MVVM | 각 Feature 내부에서 MVVM 등 선택 |
아키텍처는 상호 배타적 선택지가 아니라 ‘조합 가능한 관점’이다. 수평 규칙(레이어드) + 경계·의존 역전(클린) + 기능 응집·public API(FSD)로 함께 운용할 수 있다.