[architecture Series Ddd] 05.03.dddinmonolith
February 27, 2025
DDD in Monolith
- DDD는 비즈니스 또는 문제 도메인의 핷미을 이해하고 모델링하는 데 중점을 두는 접근 방식
- 대규모 애플리케이션의 복잡성을 해결하기 위한 일련의 원칙과 패턴을 제공
이점
모듈화 및 관심사 분리
- 코드 베이스 내에서 관심사의 모듈화 및 분리를 촉진한다.
- 애플리케이션의 경계가 뚜렷한 컨텍스트로 구성하면 시스템의 여러 부분을 분리하여 불필요한 종속성을 피하고 전반적인 모듈성을 개선할 수 있다.
공유된 이해와 커뮤니케이션
- 개발자와 도메인 전문가가 긴밀하게 협력하여 문제 도메인에 대한 공통된 이해를 구축할 수 있다.
- 덕부넹 요구 사항을 명확하 하고, 숩겨진 복잡성을 발견할 수 있다.
유비쿼터스 언어
- 개발자는 소프트웨어 모델과 도메인 전문가의 정신적 모델 간의 격차를 해소할 수 있다.
확장성 및 진화 가능성
- 확장성, 진화 가능성을 향상시킬 수 있다.
- 핵심 도메인을 중심으로 코드 베이스를 구성하면 시스템에서 가장 중요한 부분을 더 쉽게 식별할 수 있다.
- 모듈식 특성 때문에 애플리케이션 전체에 광범위한 중단 없이 향후 변경 및 새로운 기능 추가에 용이