# 도메인주도설계 철저입문_1
# 도메인 지식 설계
- 개발에서 도메인이란 프로그램이 쓰이는 대상분야를 뜻함 Ex) 회계시스템 : 회계분야에는 금전, 장부와 같은 개념이 있음 이러한 개념은 회계시스템의 도메인에 속함
# 1. 소프트웨어에는 반드시 사용자가 있다.
소프트웨어의 목적은 도메인에서 이용자들이 직면한 문제를 해결하는 것 이를 제대로 해결하려면 이용자들의 문제를 정확히 이해해야 함
개발자들이 문제를 제대로 해결하기 위해서는 문제를 파악하는 과정이 필요하지만, 기술적 접근법으로만 해결하려 하면 목적 없는 소프트웨어가 만들어진다.
이를 피하기 위해 소프트웨어가 사용될 분야(도메인)의 지식에 초점을 맞춰야한다
# 도메인 모델링
- 모델은 현실에 일어나는 사건 혹은 개념을 추상화 한것이다
- 같은 대상이더라도 보는 관점 혹은 어디에 중점을 두냐에 따라 달라진다 대상 : 연필 소설가 -> 도구 문구점 -> 상품
도메인 분야의 관계자는 도메인의 지식은 있어도 소프트웨어의 지식은 없다. 개발자는 소프트웨어 지식은 있어도 도메인의 지식은 없다 두 분야의 관계자가 협력하여 도메인 모델을 만들어야 한다.
# 도메인 객체
- 도메인 모델을 소프트웨어 형태의 동작하는 모듈로 나타낸 것이 도메인 객체