[Android] Repository패턴

박민균·2022년 7월 29일
0

1. Repository란?

reposotory의 사전적 의미

repository
미국식 [rɪˈpɑːzətɔːri]  
영국식 [rɪˈpɒzətri]  
1. (어떤 것의 대량) 저장소
2. (지식·정보 등의) 보고(寶庫)- 출처 : 네이버 사전

사전적 의미처럼 Repository는 어떠한 것을 저장하기 위해 사용된다.

2. Repository 패턴

Data의 출처에 관계 없이 동일한 인터페이스로 데이터에 접근할 수 있도록 하는 패턴이다.
즉, DataSource를 캡슐화 시킨다.

위의 그림을 보면 이해하기 쉽다. ViewModel에서 직접 Data에 접근하여 데이터를 가져오는 것이 아니라, ViewModel에서는 Repository로만 접근한다.
Repository에서는 Remote Dat인지 Local Data인지 필요한 데이터를 가져와 ViewModel에 전달해준다.

즉, 데이터 소스의 위치를 몰라도 일관성 있게 원하는 데이터를 취할 수 있도록 돕는 역할을 한다.

Repository 패턴을 사용하는 이유

  • 데이터 로직을 분리할 수 있다.
  • 중앙 집중처리 방식으로 언제나 일관된 인터페이스로 데이터를 요청할 수 있다.
  • 그렇기 때문에, 클라이언트가 어떤 데이터를 사용할지 선택할 필요 없이, 어떤 데이터를 가져올지는 Repository에서 결정하여 적절한 테이터를 제공한다.
  • 단위 테스트를 통해 검증이 가능해 진다.
  • 새로운 데이터 로직을 쉽게 추가할 수 있다.

참고

0개의 댓글