ddd
[도메인 주도 설계] 2부 : 모델 주도 설계의 기본 요소
04장 도메인의 격리 계층형 아키텍처 (Layered Architecture) 보조적인 성격의 코드를 비즈니스 객체 안에 직접 작성할 경우 도메인에 관련된 코드가 상당한 양의 도메인과 관련이 없는 다른 코드를 통해 널리 확산될 경우 도메인에 관련된 코드를 확인하고 추론하기가 굉장히 힘들어진다. 그리고 응집력 있고, 모델 주도적인 객체를 구현하는 것이 비현실적인 이야기가 돼버리고 자동화 테스트가 어려워진다. 매우 복잡한 작업을 처리하는 소프트웨어를 만들 경우 관심사의 분리(separation of concern)가 필요하다. 계층화의 핵심 원칙 한 계층의 모든 요소는 오직 같은 계층에 존재하는 다른 요소나 계층상 아래에 위치한 요소에만 의존 위로 거슬러 올라가는 통신은 반드시 간접적인 메커니즘을 거쳐야 함..
[도메인 주도 설계] 1부 : 동작하는 도메인 모델 만들기
도메인 모델링은 가능한 한 사실적인 모델을 만드는 문제가 아니다. 도메인 모델링은 어떤 목적에 따라 제약에 구애받지 않고 현실을 표현하는 영화 제작에 더 가깝다. 영화 제작자가 자신의 경험 가운데 몇 가지 측면을 골라 특유의 방식으로 이야기하고 논지를 펼쳐 나가듯이 도메인 모델러 또한 모델의 유용성에 따라 특정 모델을 선택한다. 도메인 주도 설계에서의 모델의 유용성 모델과 핵심 설계는 서로 영향을 주며 구체화된다. 모델과 구현 간의 긴밀한 연결은 모델을 의미 있게 만들고, 모델의 분석이 최종 산출물인 동작하는 프로그램에 적용되게끔 보장합니다. 모델은 모든 팀 구성원이 사용하는 언어의 중추이다. 모델과 구현이 서로 연결되어 있으므로 개발자와 도메인 전문가가 의사소통하는 데 별도의 번역 절차가 필요하지 않습..