Features Layer
사용자 인터랙션과 비즈니스 기능을 구현하는 레이어입니다.
구조
각 기능은 다음 구조를 따릅니다:
features/
└── [feature-name]/
├── api/ # API 호출 (선택적)
├── model/ # 상태 관리
├── ui/ # UI 컴포넌트
├── lib/ # 유틸리티 함수
└── index.ts # Public API
예시
// features/auth-login/ui/login-form.tsx
export function LoginForm() {
// 로그인 폼 UI
}
// features/auth-login/index.ts
export { LoginForm } from "./ui/login-form";
규칙
- 하나의 기능에만 집중합니다
- Entities와 Shared에만 의존할 수 있습니다
- 다른 Features에 직접 의존하면 안 됩니다
- 재사용 가능한 기능으로 설계합니다