DDD

Jiny's 개발 일기·2023년 6월 22일
0

Folder Structure

  • layer는 presentation, application, domain, 로 나눔 보통
    • 사실 인프라라고 해봤자 mysql 밖에 안써봐서 마지막 2개는 거의 같이 쓰는거 같다.
    • 이부분은 사실 DB 설정이 복잡해지면 분리하는 것도 좋을 듯 하다.
    • 혹은 DB외에 많은 인프라적인 부분이 추가된다면(MQ, ELK 등등)

표현 영역

표현 영역은 사용자의 요청을 해석한다.

  • 응용 서비스가 요구하는 형식으로 사용자 요청을 젼환한다.
  • 응용 서비스를 실행한 뒤에 표현영역은 실행 결과를 사용자에게 알맞은 형식으로 응답
  • layer의 측면에서 본다면 presentation 영역에 속할 것 같다.
  • 배민 같은 녀석(음식점은 business 영역)

응용 서비스

응용 서비스는 사용자가 요청한 기능을 실행

  • 응용 서비스는 표현 영역에 의존하지 않는다.
    • 즉 REST인지 TCP인지는 관심 없다는 뜻
  • 리포지터리에서 도메인 객체를 가져와 사용한다.
  • layer의 측면에서 본다면 business 영역에 속할 것 같다.

도메인 영역

  • layer의 측면에서 본다면 Data access 영역에 속할 것 같다.

기타

  • 도메인 로직: 응용 서비스 영역과 구분해야 한다.
    • 코드의 응집성
    • 여러 응용 서비스에서 분산해서 코딩(관리, 중복)? 끔찍하다.
profile
옛날 블로그 주소 : https://jeongjin984.github.io/

0개의 댓글