DDD(도메인 주도 설계), Repository Pattern 완벽 정리 ③


DDD(도메인 주도 설계), Repository Pattern 완벽 정리 ③

이번 편에서는 'Repository Pattern에서 DIP 적용시키는 방법'과 'Repository와 DAO의 차이'에 대해서 알아보자. Repository Pattern에서 DIP 적용시키기 Repository Pattern을 사용함으로써 도메인 계층과 영속성 계층을 분리할 수 있다는 사실을 알 수 있었다. 여기서 ‘분리할 수 있다’라는 말을 구체적으로 풀어서 설명하자면, 영속성 계층인 RDBMS를 NoSQL로 변경하더라도 Service 계층에는 영향을 끼치지 않는다(= Service 계층의 코드는 변경하지 않아도 된다)를 뜻한다. 위 그림을 보면 PostService 클래스가 인터페이스가 아닌 구현 클래스 TypeOrmPostRepository에 직접 의존하고 있다. 이렇게 되면 TypeOrmPostRepository를 다른 구현 클래스로 교체할 때 PostService 클래스의 코드를 수정해야 하는 경우가 발생할 확률이 높다. 이를 해결하기 위해 객체지향의 5대 원칙 중 SO...


#DDD #Repository #도메인주도설계 #레포지토리

원문링크 : DDD(도메인 주도 설계), Repository Pattern 완벽 정리 ③