Repository SRP(feat. Port, Adapter)
·
아키텍처
Repository 리팩토링최근 진행 중인 프로젝트에서 리팩토링 과정 중 문제점을 발견하고 해결방법을 생각해보고 적용한 내용을 공유해보려 한다. 클린 아키텍처를 기반으로 한 프로젝트에서 데이터 영속화를 담당하는 Repository가 단순한 데이터 조회를 넘어서, 비즈니스 로직인 DTO 매핑과 페이징 처리까지 수행하고 있는 것에서부터 의문이 시작되었다. Repository에서 그 책임 이상의 일들을 맡는 것 같았고 리팩토링이 필요하다 생각되었다. 아키텍처먼저 프로젝트 아키텍처를 간략히 소개하자면, 클린아키텍처를 도입했고 도메인을 관리하는 레어이와 데이터 영속화를 담당하는 레이어가 분리되어있으며 도메인 레이어에서 명세한 Repository를 통해 데이터를 주고 받는다. 도메인 객체와 엔티티객체도 분리되어 있..