레포지토리 패턴은 데이터 계층을 다른 나머지 앱들로 부터 완전 분리시키는 디자인 패턴을 말한다. UI 계층이 사용자에게 정보를 보여줄동안, 데이터계층은 networking, Room DB, error handling 등 데이터와 관련된 모든 작업을 한다. 레포지토리를 데이터 계층의 맨 윗단에 둠으로써 Model(persistent), Remote Data Source(retrofit, webservice)을 중앙집중화 할 수있고 데이터 간의 충돌을 최소화 할 수 있다. 위의 그림을 보면 ViewModel은 Repository에 대해서만 알고 내부의 Model 등 데이터 계층이 작동하는 방식은 알필요가 없어진다. 그래서 내부 로직의 변화로 인한 외부의 변화가 전혀 없어지고 결과적으로 서로에 대한 의존성도 ..
원문링크 : Android Repository Pattern And Caching