[DDD] 전략의 종합

skayjays·2021년 12월 9일
0

대규모 구조와 디스틸레이션과 결합

평가먼저

  • 프로젝트에 대한 전략적 설계를 다 룰 때는 현 상황을 명확하게 평가하라.
  1. Context Map을 그려라
  2. 프로젝트상의 언어를 쓰는 데 힘써라.
  3. 무엇이 중요한지 이해하라.
  4. MODEL_DRIVEN DESIGN에 유리한가?
  5. 팀 내 개발자가 필요한 기술 역량을 갖췄는가?
  6. 개발자들이 도메인을 잘 알고있는가?
  7. 개발자들이 도메인에 관심이 있는가?

누가 전략을 세우는가?

애플리케이션 개발에서 창발하는 구조

  • 의사소통 능력이 출중한 사람으로 구성된, 자기훈련을 행하는 팀은 중앙 통제 없이도 운영되고 EVOLVING ORDER에 따라 공유하는 일련의 원칙에 도달합으로써 질서가 명령에 의해서 아닌 유기적으로 성장하게 된다.

고객(애플리케이션 개발팀) 중심의 아키텍쳐 팀

  • 이러한 팀구성이 효과를 내려면 사람들은 애플리케이션 개발을 강조하는 태도를 지녀야한다.

전략적 설계 결정을 위한 6가지 필수 요소

  • 의사결정은 팀 전체에 퍼져야한다.
  • 의사결정 프로세스는 피드백을 흡수해야 한다.
  • 계획은 발전을 감안해야 한다.
  • 아키텍쳐 팀에서 가장 뛰어나고 똑똑한 사람들을 모두 데려가서는 안된다.
  • 전략적 설계에는 최소주의와 겸솜이 필요하다.
  • 객체는 전문가, 개발자는 다방면에서 지식이 풍부한사람.

정리

이번 장을 끝으로 도메인 주도 설계에 대한 정리를 마무리 하였다. 아직 정확하게 이해되지 않은 부분도 많아 다시한번 정리한걸 보면서 상기시키고자 한다. DDD를 구성하는 요소에 대해서는 시간이 나면 따로 정리할 예정이지만 워낙 정리된 글이 많아 안해도 될것같은 생각은 든다. DDD에 대해 정리하며 설계에 대한 철학을 가지게 되었다. 소프트웨어 개발은 알면 알수록 재밌고 생각할 요소가 많은게 매력적인것 같다.

profile
기초를 탄탄하게

0개의 댓글