Domain모듈 (순수 데이터 / 핵심 비즈니스 로직 정의) **UI나 데이터 소스에 의존하면 X
- [ ]
usecase
- [x] entity (model)
- 핵심 비즈니스 로직에서 사용하는 데이터 구조
data class ListEntity()
- [x] repository (interface)
- 비즈니스 로직에 필요한 데이터 작업 → 인터페이스 정의
getList() : Result<ListEntity>
Data모듈 (Domain에 의존→ domain에서 정의한 Repository 인터페이스 구현 / 외부 데이터 소스와 상호작용, api 호출)
- [ ] datasource (interface)
- 데이터 소스 인터페이스 (로컬, remote)
getList() : ListResponse
- [ ] repositoryimpl
- domain모듈의 Repository 인터페이스 구현
- datasource을 인자로 받아 인터페이스 구현
- [ ] datasourceimpl
- service을 인자로 받아 인터페이스 구현
- 데이터 소스 구현 (Retrofit, Room)
- [x] model (data class)
- [ ] di (의존성 주입)
- RetrofitModule, ServiceModule
- [ ] service (interface)
- 네트워크 통신 API 정의
GET getList() : ListResponse 처럼..
Presentation모듈