이전 편에서 Repository Pattern을 사용하면 도메인이 돋보인다고 설명했다. 이제 예시를 바탕으로 실제로 이 말이 무슨 의미인지 알아보자.
Repository Pattern을 적용하기 전 위 getPostWithPostImgs()라는 메서드를 보면 데이터스토어를 조작하는 코드로 가득 차 있다. 위 코드 정도는 코드 줄 수가 몇 줄 안 되서 이해하기 쉬울 지도 모르겠다.
하지만 저 코드가 100줄이 넘어간다면 과연 이해하기 쉬울까? 이해하기 어렵다.
이해를 할 수 있다하더라도 시간이 오래 걸린다. 조금 더 코드를 가독성 좋게 만들기 위해, 데이터스토어에 관련된 코드를 추상적으로 뽑아내서 이 메서드의 의도를 좀 더 잘 드러내보자.
참고) Service Layer에서 DataSource에 의존하고 있다면 유연하지 않은 코드이다. 특정 데이터를 저장하는 로직을 TypeORM의 DataSource를 활용하는 것이 아니라, 로컬에 저장하는 식으로 바꾼다고 가정해보자.
그러면 Serv...
#
DDD
#
Repository
#
도메인주도설계
#
레포지토리