DDD 철저 입문 01.도메인 주도 설계란?

강준혁·2022년 9월 22일
0

DDD 철저 입문

목록 보기
1/6
post-thumbnail

도메인 주도 설계란 무엇인가

이용자에게 유용한 소프트웨어를 개발하려면 가치 있는 지식과 그렇지 않은 지식을 신중히 구분해서 가치 있는 지식만 코드에 놓여 넣어야 한다.

그러기 위해서는 소프트웨어 이용자의 세계를 이해해야 한다. 문제가 무엇인지 파악하고, 해결을 위한 최선의 수단을 생각해야 한다.

도메인 주도 설계는 이를 위해 지식을 코드에 녹여 넣을 수 있게 하는 개념이다.

최신 기술들의 유혹

최신 프레임워크나 개발 기법들은 개발자를 흥분시키는 단어다. 문제를 제대로 해결하려면 문제를 파악하는 과정이 필요하지만, 기술을 중시하는 개발자는 기술적 접근법으로만 문제를 해결하려 들기 쉽다.
그 결과 목적 없는 소프트웨어가 만들어지는 참사가 발생한다.

도메인 모델링

사건 혹은 개념을 추상화하는 작업을 모델링이라고 하며, 도메인 주도 설계에서는 도메인 개념을 모델링한 모델을 도메인 모델이라고 한다.

도메인 객체

도메인 모델은 개념을 추상화한 지식이며 이것만으로는 문제 해결이 불가능하다.
때문에 도메인 모델을 소프트웨어 형태의 동작하는 모듈로 나타낸 것이 도메인 객체이다.

소프트웨어 이용자가 처한 세계는 항상 같은 상태로만 존재하지 않는다. 미미한 변화부터 상식조차 뒤바뀌는 경우까지 다양하다. 이럴 때 도메인 객체가 도메인 모델을 충실히 반영하고 있다면 도메인의 변화를 코드로 쉽게 옮길 수 있다.

profile
백엔드 개발자

0개의 댓글