DDD에 대한 좋은 예는 어디에서 찾을 수 있습니까? [닫은]


390

Domain Driven Design에 대해 배우고 있지만 좋은 샘플을 보는 것이 혼란 스러울 수있는 실제 문제가 있습니다.

기본 DDD 개념을 모델링하는 훌륭한 작업 코드 샘플을 아는 사람이 있습니까?

특히 관심

  • 예시적인 도메인 모델
  • 리포지토리
  • 도메인 / 애플리케이션 서비스 사용
  • 가치 객체
  • 골재 뿌리

42
IHMO와 같은 논쟁은 많은 도움이 될 것입니다. 때로는 단순한 질문 이상입니다. 예를 들어 "DDD에 대한 좋은 예는 어디에서 찾을 수 있습니까?"라는 질문에서 이것을 바꿀 수 있습니다. Q & A 형식으로 작동합니다.
Gizzmo

1
Vaughn Vernon의 저서에서 "민첩한 관리 프로젝트"예제가 매우 유익하다는 것을 알았습니다. 여기에는 열거 된 빌딩 블록의 실제 구현과 다양한 경계 컨텍스트를 다루는 방법이 설명되어 있습니다. github.com/VaughnVernon/IDDD_Samples
Mehdi.

1
이 예제를 추천합니다 : github.com/vkhorikov/DddInAction
Vladimir

1
당신은 여기를 볼 수 있습니다 : dzone.com/storage/assets/…
Chaklader Asfak Arefe

여기에 하나 있습니다 : github.com/appie2go/steal-this-code
Clark Kent

답변:


199

DDD 샘플의 어려움은 샘플이 종종 도메인별로 다르고 결과 시스템의 기술 구현에 도메인 모델링에서 이루어진 설계 결정 및 전환이 항상 DDD의 핵심 인 것은 아니라는 점입니다. DDD는 코드보다 프로세스에 관한 것입니다. (일부 사람들이 말하면 최고의 DDD 샘플은 책 자체입니다!)

즉, 주석이 달린 샘플 앱은 적어도 이러한 결정 중 일부를 공개하고 도메인 모델을 구현하는 데 사용되는 기술 패턴과 일치시키는 방향으로 방향을 제시해야합니다.

사용중인 언어를 지정하지 않았지만 몇 가지 다른 언어로 몇 가지를 알려 드리겠습니다.

DDDSample -Eric Evans가 자신의 저서 에서 이야기 한 예를 반영하는 Java 샘플 . 이것은 잘 언급되어 있으며 별도의 경계 컨텍스트 (예 : 프리젠 테이션 레이어)와 관련된 다양한 문제를 해결하는 다양한 방법을 보여줍니다. 적극적으로 작업 중이므로 정기적으로 업데이트를 확인하십시오.

dddps -Tim McCarthy의 그의 책 C #을 사용한 .NET 도메인 기반 디자인 샘플 C # 앱

S # arp 아키텍처 -실제 도메인 문제가 없기 때문에 DDD 접근 방식을 "순수한"방식이 아닌 실용적인 C # 예제이지만 여전히 깔끔한 접근 방식입니다.

이러한 모든 샘플 앱을 사용하면 SVN의 최신 트렁크 버전을 확인하는 것이 좋습니다. 정기적으로 업데이트해야 할 사고 및 기술 패턴에 대한 아이디어를 얻으려면 무엇이든 할 수 있습니다.


2
원래 질문 의견에서 @Mehdi에서 언급했듯이 Vaughn Vernon의 훌륭한 예를 추가해야합니다. 그것은 지금까지 내가 본 DDD 패턴의 가장 좋은 구현입니다 : github.com/VaughnVernon/IDDD_Samples
Sylvain Lecoy

나는 이것이 오래 dddps되었다는 것을 알고 있지만의 예제는 완전히 빈혈이 아니며 실제로 OOP와 반대 되는 것으로 보입니다. 도메인 개체는 동작이 없으며 서비스 계층 클래스는 기본적으로 리포지토리에 1 : 1 위임입니다. 이것이 DDD의 "좋은"예제로 간주되어야하는지 잘 모르겠습니다. 나는 아직도 나 자신을 배우고 있지만 S # arp 아키텍처의 샘플은 상태와 행동을 모두 포괄하는 DDD를 배우는 사람들에게 더 좋은 예인 것 같습니다. 이는 좋은 OOP 디자인입니다.
David Anderson

이제 도메인 구동 설계 구현 (IDDD)의 저자 인 Vaugnh Vernon의 훌륭한 샘플을 추가해야합니다. github.com/VaughnVernon/IDDD_Samples
Sylvain Lecoy

23

말 당 소스 프로젝트는 아니지만 DDD를 잘 다루는 몇 가지 좋은 비디오가있는 Parleys.com을 우연히 발견했습니다 (플래시 필요).

나는 현재 사용 가능한 거의 존재하지 않는 DDD 예제보다 훨씬 더 유용하다는 것을 알았습니다.


링크가 작동하지 않음
sidgate


11

Project Silk를 확인하십시오 . DDD뿐만 아니라 다른 최첨단 패턴을 보여줍니다. 이것은 모든 웹 개발자에게 훌륭한 자료입니다. 프로젝트의 전체 개요는 MSDN 에서 찾을 수 있습니다 .


더 이상 사용할 수없는 소스 코드 :(
Dherik

7

이것은 도메인 기반 디자인을 기반으로 한 좋은 예이며 별도의 도메인 계층을 갖는 것이 중요한 이유를 설명합니다.
Microsoft 스페인-DDD N 계층 아키텍처


1
나는 이것을 표결 할 수는 없지만 Ayende의 블로그를 방문하여 왜 이것이 좋은 예가 아니라고 생각하는지 알 수 있습니다. ayende.com/blog/19457/…
Chris

1
제공 한 링크가 작동하지 않습니다. 메시지 오류 : '
Project'microsoftnlayerapp


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.