Skip to content

Commit

Permalink
[책] 도메인 주도 개발 시작하기 - 2일차 새벽
Browse files Browse the repository at this point in the history
  • Loading branch information
ac2dia committed Aug 22, 2022
1 parent dcf4ff0 commit 354ca0a
Showing 1 changed file with 24 additions and 0 deletions.
24 changes: 24 additions & 0 deletions 책/# 도메인 주도 개발 시작하기.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,27 @@

- 개발자 = 요구사항 분석, 설계, 코드 작성, 테스트, 배포
- 요구사항을 올바르게 이해하는 것이 중요하기 때문에 "도메인 전문가" 와 "개발자" 간에 직접 대화하는 것이 중요하다.

## 1.3. 도메인 모델

- 도메인 모델 = 특정 도메인을 개념적으로 표현한 것
- 도메인 모델을 사용하면 여러 관계자들이 동일한 모습으로 도메인을 이해하고 도메인 지식을 공유하는데 도움이 된다.
- 도메인을 이해하면 도메인이 제공하는 기능과 도메인의 주요 데이터 구성을 파악해야 하는데, 이런 면에서 기능과 데이터를 함께 보여주는 객체 모델은 도메인을 모델링하기에 적합하다.
- 도메인 모델을 표현할 때 "클래스 다이어그램, 상태 다이어그램" 과 같은 UML 표기법 뿐 아니라 그래프 등 을 이용해서 표현할 수 있다.

## 1.4. 도메인 모델 패턴

- 일반적인 애플리케이션의 아키텍처
- 표현 = 사용자의 요청을 처리하고 사용자에게 정보를 보여준다.
- 응용 = 사용자가 요청한 기능을 실행한다.
- 도메인 = 시스템이 제공할 도메인 규칙을 구현한다.
- 인프라스트럭처 = 데이버베이스나 메시징 시스템과 같은 백킹 서비스 (외부 서비스) 와의 연동을 처리한다.
- 해당 챕터에서 말하는 도메인 모델은 "아키텍처 상의 도메인 계층을 객체 지향 기법으로 구현하는 패턴" 을 말한다.

- 도메인 계층은 "도메인의 핵심 규칙" 을 구현한다.

- 개념 모델과 구현 모델
- 개념 모델은 순수하게 문제를 분석한 결과물이기에 실제 구현 기술을 고려하지 않고 있다. 그러므로 실제 코드를 작성할 때는 개념 모델을 그대로 사용할 수 없다.
- 그렇기 때문에 개념 모델을 구현 가능한 형태의 모델로 전환하는 과정을 거치게 된다.
- 처음부터 완벽한 개념 모델을 만들기보다는 전반적인 개요를 알 수 있는 수준으로 개념 모델을 작성해야 한다.
- 프로젝트 초기에는 개요 수준의 개념 모델로 도메인에 대한 전체 윤곽을 이해하는 데 집중하고, 구현하는 과정에서 개념 모델을 구현 모델로 점진적으로 발전시켜 나가야 한다.

0 comments on commit 354ca0a

Please sign in to comment.