본문 바로가기

[DDD] 7장 도메인 서비스

* 도메인 서비스

 

여러 애그리거트가 필요한 기능

- > 결제 금액 계산 로직, 누가 실제 결제 금액을 계산해야 하는 주체인가?

 

한 애그리거트에 넣기 애매한 도메인 기능을  특정 애그리거트에 억지로 구현하면 안된다.

- 애그리거트는 자신의 책임 범위를 넘어서는 기능을 구현하기 때문에 코드가 길어지고 외부에 대한 의존을 높아지게 된다. 

이는 코드를 복잡하게 만들어 수정을 어렵게 만드는 요인이 된다. 

- 애그리거트의 범위를 넘어서는 도메인 개념이 애그리거트에 숨어들어서 명시적으로 들어나지 않게 된다.

 

도메인 서비스

- 상태 없이 로직만 구현한다는 점

- 도메인 서비스를 구현하는 데 필요한 상태는 애그리거트나 다른 방법으로 전달 받는다. 

 

도메인 서비스의 패키지 위치 

domain

    model

    service

    repository