reposotory의 사전적 의미
repository
미국식 [rɪˈpɑːzətɔːri]
영국식 [rɪˈpɒzətri]
1. (어떤 것의 대량) 저장소
2. (지식·정보 등의) 보고(寶庫)- 출처 : 네이버 사전
사전적 의미처럼 Repository는 어떠한 것을 저장하기 위해 사용된다.
Data의 출처에 관계 없이 동일한 인터페이스로 데이터에 접근할 수 있도록 하는 패턴이다.
즉, DataSource를 캡슐화 시킨다.
위의 그림을 보면 이해하기 쉽다. ViewModel에서 직접 Data에 접근하여 데이터를 가져오는 것이 아니라, ViewModel에서는 Repository로만 접근한다.
Repository에서는 Remote Dat인지 Local Data인지 필요한 데이터를 가져와 ViewModel에 전달해준다.
즉, 데이터 소스의 위치를 몰라도 일관성 있게 원하는 데이터를 취할 수 있도록 돕는 역할을 한다.