Search
Duplicate
📒

[Spring MSA] xx. Strategic Design vs Tactical Design

상태
미진행
수업
Spring MSA
주제
기본개념
4 more properties
참고

1. 목차

NOTE

목차

NOTE

1. 목차

NOTE

목차

NOTE
도메인 주도 설계는 기업 소프트웨어를 구축할 때 흔히 발생하는 문제에 대한 해결책을 제공합니다.
전략적 DDD 대 비전략적 DDD
전략적 DDD: 도메인 모델에 대한 경계를 도입합니다. 각 도메인마다 단일 바운디드 컨텍스트를 설정합니다.
도메인이란? 애플리케이션의 운영 영역입니다. 예: 온라인 음식 주문
바운디드 컨텍스트: DDD의 중심 패턴입니다. 도메인 내의 경계
만연어: 도메인 전문가와 개발자가 사용하는 공통 언어
전술적 DDD: 구현 패턴
엔티티: 고유한 식별자가 있는 도메인 객체입니다. 중요한 비즈니스 규칙을 체화합니다.
집합체: 항상 일관된 상태에 있어야 하는 엔티티 객체의 그룹입니다.
집합체 루트(AR): 집합체에 대한 진입점 엔티티입니다. 모든 비즈니스 작업은 루트를 통해 이루어져야 합니다. 집합체는 외부에서 루트를 통해서만 참조되어야 합니다. AR은 순수하고 부작용이 없는 함수를 가져야 합니다.
값 객체: 신원이 없는 불변 객체입니다. 값만이 중요합니다. 값에 맥락을 부여합니다.
도메인 이벤트: 서로 다른 도메인을 분리합니다. 발생하고 도메인의 상태를 변경하는 사건들을 설명합니다. 시스템을 확장 가능하게 만듭니다. 도메인 이벤트 리스너는 이벤트 발행자와 다른 트랜잭션에서 실행됩니다. 도메인 주도 시스템에서 도메인 이벤트는 최종 일관성을 달성하는 탁월한 방법입니다. 다른 모듈이나 시스템에서 무언가가 발생했을 때 자신을 업데이트해야 하는 모든 시스템이나 모듈은 해당 시스템에서 오는 도메인 이벤트를 구독할 수 있습니다.
도메인 서비스: 집합체 안에 들어맞지 않는 비즈니스 로직입니다. 비즈니스 로직에 여러 집합체가 필요할 때 사용됩니다. 다른 도메인 서비스와 상호작용할 수 있습니다.
애플리케이션 서비스: 고립된 도메인이 외부와 통신할 수 있도록 합니다. 트랜잭션을 조율하고, 보안을 처리하며, 적절한 집합체를 찾아내고 도메인의 상태 변경을 데이터베이스에 저장합니다. 비즈니스 로직을 포함하지 않습니다. 도메인 이벤트 리스너는 도메인 이벤트에 의해 트리거되는 특별한 종류의 애플리케이션 서비스입니다. 각 도메인 이벤트 리스너는 비즈니스 로직을 처리하기 위한 별도의 도메인 서비스를 가질 수 있습니다.