Transactional + DDD
·
devlog/TIL
2019년 12월 16일에 notion에 작성한 글을 옮겨 왔다.@Transactional + DDDfun requestRefund(request: RefundRequest): RefundResponse { val paymentInfo = 결제클라이언트.get결제정보(request.orderNo) return refund(refundDomainService.register(request, paymentInfo))}보통 외부의 호출이 일어날떄 transaction을 분리하는 경우는 다음과 같다.transaction이 이미 열렸고, 외부 호출을 하는 경우 timeout 같은 에러 발생 시, 지연된 시간만큼 transaction을 물고 있기 때문에 좋지 않다. → db lock 발생 가능 (그런데 ..
DDD Start! 1장 도메인 모델 시작
·
BE/design pattern
도메인 소프트웨어로 해결하고자 하는 문제 영역 = 도메인 특정 도메인을 위한 소프트웨어라고 해서 도메인이 제공해야할 모든 기능을 구현할 필요는 없다. 각각의 실무적 상황에 맞게 직접 구현할 수도, 다른 업체 (솔루션?)을 사용해서 구현할 수도 있다. 하위 도메인은 필수가 아니다. 해당 업체의 규모가 크지 않은 경우는 굳이 소프트웨어의 힘을 빌리지 않고 수작업으로 해결하도록 풀어나갈 수도 있다. 도메인 모델 도메인 모델 = 특정 도메인을 개념적으로 표현한 것, 도메인을 이해하기 위한 도구 사용하면 좋은 점: 여러 관계자들이 도메인에 대한 같은 모습을 알게 되고 지식을 공유하는 데 도움이 됨 예시 객체기반 모델링 상태 다이어그램을 통한 도메인 모델링 사실 표현방식은 중요하지 않다. 모두가 이해할 수 있는 표..