«domain-driven-design» 태그된 질문

도메인 기반 디자인 (DDD)은 구현을 진화하는 모델에 연결하여 복잡한 요구에 맞는 소프트웨어를 개발하는 접근 방식입니다.

5
함수형 프로그래밍의 맥락에서 빈혈 모델에 대해 말하는 것이 여전히 유효합니까?
대부분의 DDD 전술 디자인 패턴은 객체 지향 패러다임에 속하며 빈혈 모델은 모든 비즈니스 로직이 객체가 아닌 서비스에 배치되어 상황을 일종의 DTO로 만드는 상황을 설명합니다. 즉, 빈혈 모델은 절차 적 스타일의 동의어이며 복잡한 모델에는 권장되지 않습니다. 순수한 함수형 프로그래밍에 익숙하지는 않지만 DDD가 FP 패러다임에 어떻게 적용되는지, 그리고 그 경우 '애 네임 …

7
RESTful API는 빈혈 도메인 모델을 장려하는 경향이 있습니까?
도메인 중심 디자인과 REST를 모두 서비스 지향 아키텍처에 적용하려는 프로젝트를 진행 중입니다. 우리는 약 100 % REST 준수에 대해 걱정하지 않습니다. 리소스 지향 HTTP API (~ Richardson의 REST 성숙도 모델의 레벨 2) 를 구축하려고한다고 말하는 것이 좋습니다 . 그럼에도 불구하고, 우리는 HTTP 요청의 RPC 스타일의 사용을 멀리하려고하는, 즉 우리가 구현하려고 …

1
데이터베이스가 대기열로 나쁜 이유는 무엇입니까? [닫은]
방금이 기사를 읽었으며 혼란스러워합니다. 하나의 webapp과 하나의 고유 한 응용 프로그램이 "작업자"역할을 하고 동일한 데이터베이스를 공유 한다고 가정 해 봅시다 . 아, "공유"라고했는데이 기사에서는 무엇에 대해 경고합니까? : 넷째, 응용 프로그램 (또는 서비스)간에 데이터베이스를 공유하는 것은 좋지 않습니다. 비정질 공유 상태를 거기에 넣는 것은 너무 유혹적이며 그것을 알기 전에는 엄청나게 …

10
GUID를 기본 키로 사용
나는 일반적으로 데이터베이스에서 자동 증가 ID를 기본 키로 사용합니다. GUID 사용의 이점을 배우려고합니다. 나는이 기사를 읽었다 : https://betterexplained.com/articles/the-quick-guide-to-guids/ 이 GUID는 응용 프로그램 수준에서 개체를 식별하는 데 사용됩니다. 또한 데이터베이스 레벨에서 기본 키로 저장됩니다. 예를 들어 다음과 같은 클래스가 있다고 가정 해보십시오. public class Person { public GUID ID; public string …

3
응용 프로그램 또는 도메인 서비스의 DDD 리포지토리
요즘 DDD를 공부하고 있는데 DDD로 리포지토리를 관리하는 방법에 대한 몇 가지 질문이 있습니다. 실제로, 나는 두 가지 가능성을 만났다. 첫 번째 내가 읽은 서비스를 관리하는 첫 번째 방법은 응용 프로그램 서비스에 리포지토리와 도메인 모델을 주입하는 것입니다. 이러한 방식으로 응용 프로그램 서비스 방법 중 하나에서 도메인 서비스 방법 (비즈니스 규칙 확인)을 …


2
비즈니스 로직이 변경 될 때 단위 테스트가 실패하면 부서지기 쉬운 것으로 간주됩니까?
아래 코드를 참조하십시오; 그것은 여성의 성별을 가진 사람이 제안을받을 수 있는지 여부를 테스트합니다 1 : [Fact] public void ReturnsFalseWhenGivenAPersonWithAGenderOfFemale() { var personId = Guid.NewGuid(); var gender = "F"; var person = new Person(personId, gender); var id = Guid.NewGuid(); var offer1 = new Offer1(id,"Offer1"); Assert.False(offer1.IsEligible(person)); } 이 단위 테스트가 성공합니다. 그러나 …

1
도메인 이벤트를 사용하거나 응용 프로그램 계층이 모든 것을 조정하도록하는 방법
첫 번째 단계를 도메인 기반 디자인으로 설정하고 청서를 구입했으며 특정 솔루션을 구현하는 세 가지 방법을보고 있습니다. 기록을 위해 : 나는 CQRS 또는 이벤트 소싱을 사용하지 않습니다. 사용자 요청이 응용 프로그램 서비스 계층으로 들어 온다고 가정 해 봅시다. 해당 요청의 비즈니스 로직은 (어떤 이유로 든) 엔티티의 메소드와 도메인 서비스의 메소드로 구분됩니다. …

2
DDD-집계 루트 저장소가 집계 저장을 처리합니까?
기존 응용 프로그램의 그린 필드 모듈에 DDD와 유사한 접근 방식을 사용하고 있습니다. 아키텍처로 인해 100 % DDD는 아니지만 일부 DDD 개념을 사용하려고합니다. 나는 경계 컨텍스트 (I 그 적절한 용어라고 생각 - 난 아직도 DDD에 대해 배우고)가 두 엔티티 구성을 : Conversation와 Message. 대화가없는 메시지는 존재하지 않으며 시스템의 모든 메시지는 대화의 …

4
DDD에서 유효성 검사 응용 프로그램 논리입니까, 아니면 도메인 논리입니까?
DDD를 사용하여 양식을 모델링한다고 가정하십시오. 이 양식에는 특정 종류의 비즈니스 규칙이있을 수 있습니다. 학생이 아닌 경우 소득을 지정해야하며 결혼했음을 나타내는 경우 자녀를 기재해야합니다. 국가를 지정한 경우 유효한 국가가 있어야합니다. 이러한 종류의 유효성 검사가 도메인이나 응용 프로그램 계층에 있습니까? 내가 고려하고 있던 다른 문제들 : Laravel과 같은 특정 프레임 워크는 요청이 …

3
실질적인 용어로 도메인 주도 개발이란 무엇입니까? [닫은]
폐쇄되었습니다 . 이 질문은 더 집중되어야 합니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 한 가지 문제에만 집중할 수 있도록 질문을 업데이트하십시오 . 휴일 삼년 전에 . 이 지역의 개발자로부터 도메인 기반 개발에 대해 들었습니다. 그는 변화하는 요구 사항에 대한은 총알에 관한 것처럼 이야기했습니다. 나는 …

5
REST API는 명령 / 작업 기반 도메인에 어떻게 적합합니까?
이 기사 에서 저자는 때로는 본질적으로 RESTful하지 않은 작업을 API에 노출해야하는 경우가 있습니다. 그리고 API에 작업이 너무 많으면 RESTful 원칙을 사용하지 않고 RPC 관점으로 설계되었거나 해당 API가 자연스럽게 RPC 유형 모델에 더 적합하다는 것을 나타냅니다. 이것은 내가 읽고 다른 곳에서들은 것을 반영합니다. 그러나 나는 이것이 매우 혼란스럽고 문제에 대해 더 …

2
DDD 집계의 직렬화 우수 사례
DDD에 따르면 도메인 로직은 직렬화, 객체 관계형 매핑 등과 같은 기술적 문제로 오염되어서는 안됩니다. 그렇다면 게터와 세터를 통해 공개적으로 노출시키지 않고 어떻게 집계 상태를 직렬화하거나 매핑합니까? 예를 들어 리포지토리 구현에 대한 많은 예를 보았지만 실제로는 모두 엔터티에 대한 공용 접근 자와 매핑을위한 값 개체에 의존했습니다. 공개 접근자를 피하기 위해 리플렉션을 …

5
"세터가없는"세상에서 단위 테스트
저는 DDD 전문가라고 생각하지 않지만 솔루션 아키텍트는 가능한 한 모범 사례를 적용하려고합니다. 나는 DDD에서 no (공개) 세터 "스타일"의 장단점에 대해 많은 논의가 있고 나는 논쟁의 양쪽을 볼 수있다. 제 문제는 모든 기술, 지식 및 경험이 풍부한 팀에서 일한다는 것입니다. 즉, 모든 개발자가 "올바른"방식으로 일을한다고 믿을 수 없습니다. 예를 들어, 도메인 …

8
원시 강박 관념이 언제 코드 냄새가 아닌가?
나는 최근 원시 강박 관념 을 코드 냄새로 묘사하는 많은 기사를 읽었습니다 . 원시적 인 집착을 피하는 데에는 두 가지 이점이 있습니다. 도메인 모델을보다 명확하게 만듭니다. 예를 들어, 우편 번호가 포함 된 문자열 대신 우편 번호에 대해 비즈니스 분석가에게 문의 할 수 있습니다. 모든 유효성 검사는 응용 프로그램 전체가 아닌 …

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