DDD 1. 도메인 모델 시작하기

1 minute read

도메인 모델 시작하기⌟

  • 최범균님의 DDD를 읽고 개인적인 생각과 함께 정리한 글입니다. (노션에서 깃블로그로 이사..)

도메인 : 소프트웨어로 해결하고자 하는 문제 영역, 도메인은 여러 하위 도메인으로 구성된다 도메인 모델 : 기본적으로 도메인 모델은 특정 도메인을 개념적으로 표한한 것이다.

1. 일반적인 애플리케이션의 아키텍쳐

  • 1) UI or 표현 : 사용자의 요청을 처리하고 정보를 보여준다. (사용자는 엔드유저 뿐만 아니라 외부 시스템일 수도 있다.)
  • 2) 응용 : 사용자가 요청한 기능을 실행한다. 업무로직을 직접 구현하지 않으며, 도메인 계층을 조합해서 기능을 실행한다.
  • 3) 도메인 : 시스템이 제공할 도메인 규칙을 구현한다.
  • 4) 인프라스트럭쳐 : 데이터베이스나 메시징 시스템과 같은 외부 시스템과의 연동을 처리한다.

2. 도메인 모델 도출

  • 도메인 모델의 엔티티를 DB 모델의 엔티티와 동일하게 생각할 수 있지만 동일하지 않은 개념이다.
  • 하나의 도메인 모델 엔티티에는 여러 DB 엔티티가 있을 수 있다.

3. 엔티티와 밸류

  • 엔티티 : 엔티티의 가장 큰 특징은 식별자를 가진다.
  • 밸류 : 개념적으로 완전한 하나를 표현한다. 또 식별자를 가지지 않는다.

4. 유비쿼터스 언어

  • 코드를 작성할 때 사용하는 용어는 매우 중요하다.

  • 전문가, 관계자, 개발자가 도메인과 관련된 공통의 언어를 만들고 이를 대화, 문서, 도메인 모델, 코드, 테스트 등 모든 곳에서 같은 용어를 사용한다.

  • 이렇게 하면 소통 과정에서 발생하는 용어의 모호함을 줄일 수 있고, 개발자는 도메인과 코드 사이에서 불필요한 해석 과정을 줄일 수 있다.

  • 도메인 용어에 알맞은 단어를 찾는 시간을 아까워하지 말자.

-->

Categories:

Updated:

Comments