This is an old revision of the document!


17 전략의 종합

  • 대규모 구조의 기법을 여러 개 적용한다면?
  • 대규모 구조는 어떻게 CONTEXT MAP과 공존하는가?
  • 전략의 우선 순위, 순서?

대규모 구조와 BOUNDED CONTEXT의 결합

domain-driven_design-17-1.jpg

전략적 설계의 세가지 원칙(컨텍스트, 디스틸레이션, 대규모 구조)은 서로 대체 가능하지 않다. 그것들은 여러 가지 면에서 서로 보완하며 상호작용한다.

RESPONSIBILITY LAYER를 도입하고 싶지만
원하는 대규모 구조와 구성이 맞지 않는 레거시 시스템이 있다고 가정할 때,
레거시 시스템의 범위의 역할의 핵심 측면을 연결지을 수 있다.
이 때, ANTICORRUPTION LAYER 기법을 사용하여 질의/번역을 통해 각 서비스를 연결할 수 있고,
CONTEXT 안에서 똑같이 익숙한 LAYER를 기준으로 CONTEXT MAP을 구성하여 모델을 정리할수도 있다.

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

대규모 구조는
CORE DOMAIN 안의 각종 관계와 여러 GENERIC SUBDOMAIN 사이의 관계를 설명하는 데 도움될 수 있다.
동시에 대규모 구조 자체도 CORE DOMAIN의 중요한 부분일지도 모른다.

domain_driven_design_17-6.jpg

평가 먼저

프로젝트에 대한 전략적 설계를 다룰 때는
현 상황을 명확하게 평가하는 일부터 시작해야 한다.

  1. CONTEXT MAP을 그려라. 일관된 CONTEXT MAP을 그릴 수 있는가? 그렇지 않다면 모호한 상황이 있는가?
  2. 프로젝트상의 언어를 쓰는 데 힘써라. UBIQUITOUS LANGUAGE가 있는가? UBIQUITOUS LANGUAGE가 개발에 도움을 줄 만큼 풍부한가?
  3. 무엇이 중요한지 이해하라. CONTEXT DOMAIN을 식별했는가? DOMAIN VISION STATEMENT가 있는가? DOMAIN VISION STATEMENT를 작성할 수 있는가?
  4. 프로젝트에 사용하는 기술이 MODEL-DRIVEN DESIGN에 유리한가, 불리한가?
  5. 팀 내 개발자가 필요한 기술 역량을 갖췄는가?
  6. 개발자들이 도메인을 잘 알고 있는가? 개발자들이 도메인에 관심이 있는가?

누가 전략을 세우는가?

애플리케이션 개발에 나오는 새로운 구조

Emergent Structure from Application Development

의사소통 능력이 출중한 사람으로 구성된, 자기훈련을 행하는 팀.

XP 팀의 전형적인 모델.
비공식적인 리더가 실천적인 개발자일 때 효과적.

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

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

기술 프레임워크도 마찬가지다

The Same Goes for the Technical Frameworks

종합 계획을 조심하라

Beware the Master Plan

domain-driven_design/part_4_strategic_design/17_bringing_the_strategy_together.1722337251.txt.gz · Last modified: 2024/07/30 12:00 by ledyx