반응형
Entity, Value Object(값 객체)
Service, Module(패키지)
모델링 패러다임
엄격한 모델 (Rigorous Modeling)
- 정의
- 엄격한 모델링은 도메인 모델을 매우 정확하게 정의하고, 가능한 한 많은 도메인 지식을 모델에 반영하는 것을 목표로 한다
- 특징
- 모델은 상세하고 명확해야 한다
- 도메인 전문가와 개발자가 협력하여 도메인 지식을 모델에 반영 한다
- 모델을 통해 비즈니스 로직과 도메인 규칙을 표현한다
- 장점
- 도메인 지식이 코드에 잘 반영되어 일관성과 정확성을 높일 수 있다
- 도메인 전문가와 개발자 간의 의사소통이 명확해진다
- 단점
- 모델이 복잡해질 수 있으며, 변경 관리가 어려울 수 있다
단순한 모델 (Simple Modeling)
- 정의
- 단순한 모델링은 도메인 모델을 가능한 한 단순하게 유지하여 이해와 유지보수를 쉽게 하는 것을 목표로 한다
- 특징
- 모델은 간결하고 직관적이어야 한다
- 복잡한 비즈니스 로직은 피하고, 단순한 구조를 유지한다
- 장점
- 모델이 이해하기 쉽고, 변경이 용이하다
- 유지보수 비용이 낮다
- 단점
- 도메인 지식이 충분히 반영되지 않을 수 있으며, 일부 중요한 세부 사항이 생략될 수 있다
분산된 모델 (Distributed Modeling)
- 정의
- 분산된 모델링은 도메인 모델을 여러 바운디드 컨텍스트로 분산하여 각각의 컨텍스트에서 독립적으로 모델링하는 것을 목표로 한다
- 특징
- 시스템을 작은 부분으로 분할하여 각 부분을 독립적으로 모델링한다
- 각 바운디드 컨텍스트는 고유한 모델과 규칙을 가진다
- 장점
- 각 컨텍스트는 독립적으로 개발 및 유지보수할 수 있어 유연성과 확장성이 높아진다
- 각 컨텍스트가 특정 도메인 지식에 집중할 수 있다
- 단점
- 전체 시스템의 일관성을 유지하기 어려울 수 있다
- 컨텍스트 간의 통합 및 상호작용이 복잡해질 수 있다
진화하는 모델 (Evolving Modeling)
- 정의
- 진화하는 모델링은 도메인 모델이 시간이 지남에 따라 지속적으로 발전하고 변화하는 것을 목표로 한다
- 특징
- 도메인 모델은 초기에는 간단할 수 있지만, 도메인 지식이 축적됨에 따라 점진적으로 발전한다
- 지속적인 피드백과 개선을 통해 모델을 발전시킨다
- 장점
- 도메인 지식의 변화와 발전에 유연하게 대응할 수 있다
- 초기에는 간단한 모델로 시작하여 복잡성을 점진적으로 관리할 수 있다
- 단점
- 모델이 계속해서 변화할 수 있어, 일관성을 유지하는 데 주의가 필요하다
- 초기 모델이 불완전할 수 있다
통합된 모델 (Unified Modeling)
- 정의
- 통합된 모델링은 여러 도메인 모델을 하나의 통합된 모델로 결합하여 전체 시스템을 표현하는 것을 목표로 한다
- 특징
- 여러 도메인 모델을 통합하여 하나의 일관된 모델을 만든다
- 전체 시스템의 일관성을 유지한다
- 장점
- 전체 시스템의 일관성과 통합성을 유지할 수 있다
- 도메인 모델이 통합되어, 전체 시스템을 쉽게 이해할 수 있다
- 단점
- 모델이 복잡해질 수 있으며, 변경 관리가 어려울 수 있다
- 각 부분의 독립성을 유지하기 어려울 수 있다
반응형
LIST
'도서' 카테고리의 다른 글
DDD - 에릭 에반스, (11장 분석 패턴의 적용) (0) | 2024.06.29 |
---|---|
DDD - 에릭 에반스, (10장 유연한 설계) (0) | 2024.06.29 |
DDD - 에릭 에반스, (6장 도메인 객체 생명주기) (0) | 2024.06.29 |
DDD - 에릭 에반스, (4장 도메인 격리) (0) | 2024.06.29 |
DDD - 에릭 에반스, (2장 의사소통과 언어 사용) (0) | 2024.06.29 |