추상 리포지토리: 두 개/다수의 리포지토리 결합 (OrderDocumentRepo)

발행: (2026년 1월 8일 오후 12:15 GMT+9)
2 min read
원문: Dev.to

Source: Dev.to

이 접근 방식에서는 OrderRepoDocumentRepo를 모두 결합한 OrderDocumentRepo를 생성하여, 이 추상 레포지토리 내부에서 트랜잭션을 관리합니다.

장점

  • 단일 책임 – 주문과 문서에 관련된 전체 트랜잭션 로직을 하나의 레포지토리 안에 캡슐화하여 관리가 용이합니다.
  • 일관성 – 주문과 문서 작업이 동일한 트랜잭션 범위 내에서 긴밀히 결합되어 부분적인 실패 위험을 줄여줍니다.

단점

  • 복잡성 – 레포지토리가 둘 이상의 엔티티를 다루게 되어 단일 책임 원칙을 위반할 가능성이 있습니다.
  • 강한 결합OrderRepoDocumentRepo가 결합되어 독립적인 재사용이나 테스트가 어려워집니다.
  • 확장성 – 트랜잭션에 추가 레포지토리를 포함하려면 OrderDocumentRepo를 수정해야 하므로 유연성이 감소합니다.

권장 사용법

  • 주문과 문서에 대한 작업이 항상 함께 수행되고 독립적으로 동작하지 않을 때 이 패턴을 사용합니다.
  • 두 개의 밀접하게 연관된 레포지토리 간의 일관성을 보장해야 하며, 변경이 항상 동시에 이루어지는 경우에 유용합니다.

참고

Abstract Repository Combining Two/Multiple Repositories (OrderDocumentRepo)

Back to Blog

관련 글

더 보기 »