티스토리 뷰
Distillation은 혼합된 요소를 분리해서 Domain Model의 본질을 좀 더 값지고 유용한 형태로 뽑아내는 과정이다. 이 과정은 가장 중요한 Domain Model에 초점을 맞춤으로써 시스템의 전체 설계를 파악과 리펙토링, 의사결정을 돕니다.
- Core Domain
- Business Domain을 대표하는 업무와 관련된 Model을 찾고 요약한다.
- 가장 가치 있고 전문화된 개념을 부각해야 한다.
- Core Domain을 찾는 일은 반복 주기를 거치면서 발전한다.
- Domain Vision Statement
- Application이 조직에 가져올 기본 개념과 가치를 전달하는 문서를 작성한다.
- Domain Model의 본질에 집중하여 짧게 작성한다.
- 팀 내에서 방향성을 공유하게 만들어준다.
- 팀의 의사소통 수준이 낮다면 효과가 없다.
- Highlighted Core
- Core Domain과 구성요소 사이의 상호작용을 기술하는 문서를 작성한다.
- 객체의 주요 관계를 설명하려 하지 말고, 다이어그램같이 표시/표현한다.
- 개발자가 아닌 팀원도 이해할 수 있는 문서를 작성한다.
- 의소통을 향상하고 의사결정을 내리는데 도움이 된다.
- Generic SubDomain
- 각 측면의 의미를 명확하게 하는 Core Domain과 대조를 이룬다.
- Core Domain의 부수적인 요소를 분리해서 핵심 Business를 명확히 한다.
- Core Domain이 아닌 Domain 중 응집력 있는 하위 Domain을 식별하여 별도의 Module로 분리한다.
- Core Domain보다 낮은 우선순위를 갖는다.
- 오픈 소스같이 다른 솔루션을 고려해볼 수 있다.
- 시스템에 필요한 기능이고, Model을 완전히 표현하는데 중요한 역활을 한다.
- Core Domain보다 덜 중요할뿐 Domain을 표현한다.
- Cohesive Mechanism
- 문제 해결을 위한 많은 Algorithm과 Method가 문제의 표현을 불분명하게 만들 수 있다.
- 문제 해결의 복잡성(어떻게)을 프레임워크에 위임하여 문제(무엇)를 표현하는데 집중할 수 있다.
- Intention Revealing Interface를 사용한 유연한 설계를 통해 캡슐화할 수 있다.
- Generic SubDomain과의 차이는 맡고 있는 책임의 본질에 있다. Cohesive Mechanism은 Domain을 나타내지 않는다. 하지만 일부 Business에 특화된 핵심 Algorithm을 보유한 경우 Core Domain의 일부로 여겨질 수 있다.
'Programming > DDD' 카테고리의 다른 글
전략의 종합 (0) | 2019.08.03 |
---|---|
Large Scale Structure : 대규모 구조 (0) | 2019.08.03 |
Bounded Context (0) | 2019.08.03 |
분석 패턴 (0) | 2019.08.03 |
유연한 설계 (0) | 2019.08.03 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Join Table
- Charles proxy
- JPA Criteria
- spring spel
- Embeddable Mapping
- JPA
- SmartLifecycle
- Property
- Query DSL
- 복합키 Mapping
- java EqualsAndHashCode
- RetryTemplate
- @Primary
- Mapping
- Sprint RetryTemplate
- docker
- guava
- java Equals
- java generic
- Criteria
- Typesafe Config
- Spring Registrar
- Spring
- DI
- Akka
- Embedded Mapping
- scikit-learn
- Spring JDBC Template
- Discriminate Mapping
- Registrar
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함