Repository 패턴은 데이터 접근을 컬렉션과 유사한 인터페이스 뒤로 추상화합니다 — 비즈니스 로직을 데이터가 저장되고 조회되는 방식으로부터 분리합니다. 애플리케이션을 데이터 소스(데이터베이스, API)로부터 분리하여 테스트 용이성과 유지보수성을 향상시킵니다.
Repository 패턴이 하는 일
REPOSITORY → 비즈니스 로직과 데이터 접근 사이의 추상화 계층:
→ 깔끔한 인터페이스를 제공 (컬렉션처럼: findById, save, delete, findAll)
→ 데이터가 실제로 어떻게/어디에 저장되는지(데이터베이스, API, 캐시, 파일) 숨김
→ 비즈니스 로직은 데이터베이스를 직접 쓰지 않고 repository를 사용
→ 무엇을 하는 데이터 연산인지를, 그것이 어떻게 구현되는지로부터 분리
예시
{
() { }
() { }
() { }
}
user = userRepository.();
