본문 바로가기

개발

도메인 주도 설계 - 동작하는 도메인 모델 만들기

도메인 모델은 다이어그램이 전달하고자 하는 아이디어다. 
도메인 모델은 지식을 엄격하게 구성하고 선택적으로 추상화한 것이다. 

 

 

 

도메인 주도 설계에서의 모델의 유용성

 

1. 모델과 핵심 설계는 서로 영향을 주며 구체화된다. 

-> 모델과 구현의 연결은 유지보수와 계속되는 기능 개선에 도움이 된다. 

2. 모델은 모든 팀 구성원이 사용하는 언어의 중추다. 

-> 모델과 구현이 서로 연결되 있으므로 개발자는 이 언어를 토대로 프로그램에 관해 의견을 나눌 수 있다. 

3. 모델은 지식의 정수만을 뽑아낸 것이다. 

-> 모델은 도메인 지식을 조직화하고 중요한 요소를 구분하는 팀의 합의된 방식이다. 

 


 

소프트웨어의 본질 

 

소프트웨어의 본질은 해당 소프트웨어의 사용자를 위해 도메인에 관련된 문제를 해결하는 능력에 있다. 

도메인이 복잡하면 이 같은 문제 해결은 유능하고 숙련된 사람의 집중적인 노력이 필요한 어려운 일이 된다. 

팀의 리더가 도메인의 중심이 되는 개념을 알고 있어야 해당 도메인의 심층적인 이해를 반영하는 모델 개발이 모르는

사이에 갈피를 잡지 못할 때 프로젝트를 올바른 방향을 되돌려 놓을 수 있다. 

 

불규칙하게 뻗어 나가는 소프트웨어 애플리케이션에 질서를 부여할 수 있는 설계 기법이 있다. 

이 기술을 연마하면 익숙지 않은 도메인에서도 훨씬 더 가치 있는 개발자로 거듭날 것이다. 

 


 

지속적인 학습

소프트웨어를 작성하기 시작할때 우리는 충분히 알지 못한 상태에서 시작한다. 

모든 프로젝트에서는 지식이 새기 마련이다. 학습한 사람들은 계속 자리를 옮긴다. 

생산성이 매우 뛰어난 팀은 지속적인 학습을 바탕으로 의식적으로 지식을 함양한다.

스스로 학습하는 팀원은 가장 핵심적인 부분을 개발하는 데 초점을 맞춘 고정 핵심 인력을 형성한다.