Data Layer
- 애플리케이션 데이터 및 비즈니스 로직이 포함
- Domain Layer에 의존 !!
Data Layer 아키텍처

- 0개 ~ 여러 개의 dataSource를 각각 포함할 수 있는 Repository로 구성됨
- 앱 내에서 처리하는 다양한 유형의 데이터 별로 Repository 클래스를 만들어야 함
Repository에서 담당하는 작업
- 앱의 나머지 부분에 데이터 노출
- 간단히 말하자면,,, 데이터를 가져와서 → 앱의 다른 부분에서 사용 가능하도록 만들어주는 것
- 데이터 변경사항을 한 곳에 집중
- 로컬 및 원격 데이터 소스에 사용자 업데이트를 집중적으로 수행!
- 여러 데이터 소스 간의 충돌 해결
- 앱의 나머지 부분에서 데이터 소스 추상화
- 다양한 데이터 소스를 사용하더라도 repository 클래스를 통해 액세스!
- 비즈니스 로직 포함
데이터 소스
- 파일, 네트워크 소스, 로컬 데이터베이스와 같은 하나의 데이터 소스만 사용해야 함!
- 다른 레이어는 데이터 소스에 직접 액세스 해서는 안 됨!!!
- Data Layer의 진입점은 항상 Repository 클래스 여야 함
- UI Layer, Domain Layer에는 데이터 소스가 직접 종속 항목으로 있어서는 안 됨!!
주의 사항!