이 문서는 Google Cloud Translation API를 사용해 자동 번역되었습니다.
어떤 문서는 원문을 읽는게 나을 수도 있습니다.
DDD(Domain-Driven Design)는 복잡한 시스템을 위한 소프트웨어 개발 접근 방식입니다. 다음 원칙을 기반으로 합니다.
도메인: 도메인은 소프트웨어가 해결하려는 문제의 핵심입니다. 사용자 및 이해 관계자의 전문 분야입니다.
모델: 모델은 도메인을 나타냅니다. 사용자와 이해 관계자의 지식과 전문성을 포착하는 개념적 모델입니다.
소프트웨어: 소프트웨어는 모델을 조작하는 데 사용할 수 있는 도구입니다. 도메인이 아니므로 모델의 구현 세부 사항에 집중해서는 안 됩니다.
디자인: 디자인은 모델을 만들고 소프트웨어 솔루션으로 변환하는 프로세스입니다.
DDD의 주요 목표는 도메인을 정확하게 반영하고 도메인의 문제를 해결하는 데 사용할 수 있는 모델을 만드는 것입니다. 이를 위해 DDD는 도메인 모델링, 도메인별 언어 및 전략적 설계를 비롯한 다양한 기술을 사용합니다.
도메인 모델링은 도메인의 모델을 만드는 과정입니다. 모델은 사용자와 이해 관계자의 지식과 전문 지식을 캡처하는 도메인의 개념적 표현입니다. 이것은 소프트웨어 모델이 아니며 소프트웨어의 구현 세부 사항에 초점을 두어서는 안 됩니다.
도메인 모델링은 도메인을 이해하고 도메인의 주요 개념과 관계를 식별하는 데 사용됩니다. 이 모델은 소프트웨어 솔루션 설계의 기초로 사용됩니다.
DSL(도메인 특정 언어)은 특정 도메인에 특정한 언어입니다. 도메인 모델의 개념과 관계를 컴퓨터가 이해할 수 있는 형태로 표현하는 데 사용됩니다.
DSL은 도메인 모델에서 코드를 생성하는 데 사용됩니다. 이 코드는 소프트웨어 솔루션을 구현하는 데 사용할 수 있습니다.
전략적 설계는 사용자와 이해 관계자의 요구를 충족시킬 특정 소프트웨어 솔루션을 선택하는 프로세스입니다. 도메인 모델과 도메인별 언어를 기반으로 합니다.
전략적 디자인은 소프트웨어에서 도메인 모델을 구현하는 가장 좋은 방법을 식별하는 데 사용됩니다. 서로 다른 접근 방식 간의 장단점을 고려하고 특정 문제에 가장 효과적인 접근 방식을 선택합니다.
도메인 기반 설계는 복잡한 시스템을 위한 소프트웨어 개발에 대한 강력한 접근 방식입니다. 도메인이 소프트웨어가 해결하려는 문제의 핵심이라는 원칙에 기반합니다.
DDD는 도메인 모델링, 도메인별 언어 및 전략적 설계를 비롯한 다양한 기술을 사용하여 도메인의 문제를 해결하는 데 사용할 수 있는 도메인 모델을 만듭니다.