나는 거의 2 년 동안 Domain Driven Design에 대해 읽었으며, 일상 업무에 몇 가지 개념을 조심스럽게 소개하거나 최소한 Domain Driven Design 내에서 정기적으로 수행하는 작업에 대한 계획을 세우고 있습니다.
도메인 개체가 쓰기 목적으로 만 사용된다는 이벤트 소싱 및 CQRS (Command Query Responsibility Segregation)에 대한 자세한 내용을 읽은 결과로 특히 시작하기 시작했다는 결론에 도달했습니다. 더 명확하게 말하면, 사람들이 많은 문서에서 미묘하게 제안하는 것은 도메인 객체가 도메인 중심 작업 / 계산, 유효성 검사를 수행하고 주로 지속성을 향한 길을 제공한다는 것을 읽은 것 같습니다 리포지토리 구현 내에서 제공되는 인프라 이것이 도메인 상태를 노출시키는 책임을 제거함으로써 도메인 모델을 크게 단순화 할 수 있다는 사실을 좋아하지만.
실제로 도메인 객체가 주로 쓰기 전용 객체로 사용되는 것이 맞다면 누군가 대답 할 수 있기를 바랍니다.
- setter가있는 객체 나 객체의 상태를 수정하지만 C #의 속성 getter와 같은 상태를 읽을 수있는 외부 공용 인터페이스를 제공하지 않는 객체에 대해 단위 테스트를 수행하는 방법은 무엇입니까? 객체를 테스트 할 수 있도록 목적으로 만 상태를 공개해도 괜찮습니까?
- 도메인에서 수행 한 계산 또는 작업의 결과를 유지하지 않고 사용자에게 표시 한 다음 도메인 컨텍스트 외부의 지속 저장소에서 결과를 가져 오는 방법은 무엇입니까? 결과를 보여주기위한 목적으로 만 상태를 공개해도 괜찮습니다.
경험상 유일한 getter (get 접근 자)가 도메인에서도 쓸 수있는 규칙이어야합니까? 또는 읽기 전용 속성은 읽기 목적으로 만 존재하므로 실제 도메인 모델에서 필요한 역할을 수행하지 않기 때문에 피해야 할 유일한 속성이라고 다르게 말했습니까?
관련 자료 :