도메인 주도 설계 구현-애그리게잇(2)
도메인 주도 설계 구현 애그리게잇(aggregate) 규칙 : 경계의 밖에선 결과적 일관성을 사용하라 하나의 애그리게잇 인스턴스에서 커맨드를 수행할 때 하나 이상의 애그리게잇에서 추가적인 비즈니스 규칙이 수행돼야 한다면 결과적 일관성을 사용하자 큰 규모의 트래픽이 많은 엔터프라이즈에선 애그리게잇 인스턴스가 절대적이고 완전
Writing
기술 자체보다 어떤 문제를 왜 그렇게 풀었는지에 초점을 둡니다.
도메인 주도 설계 구현 애그리게잇(aggregate) 규칙 : 경계의 밖에선 결과적 일관성을 사용하라 하나의 애그리게잇 인스턴스에서 커맨드를 수행할 때 하나 이상의 애그리게잇에서 추가적인 비즈니스 규칙이 수행돼야 한다면 결과적 일관성을 사용하자 큰 규모의 트래픽이 많은 엔터프라이즈에선 애그리게잇 인스턴스가 절대적이고 완전
도메인 주도 설계 구현 애그리게잇(aggregate) 스크럼 핵심 도메인에서 애그리게잇 사용하기 큰 클러스터의 애그리게잇 크기가 큰 애그리게잇은 처음엔 그럴싸해 보이지만 실제론 실용적이지 않다. 의도치 않게 트랜젝션이 주기적으로 실패하는데 실패의 원인은 실제 비즈니스 규칙이 아닌 잘못된 고정자를 기준으로 설계 하여 실패
도메인 주도 설계 구현 모듈(module) 모듈 설계하기 DDD 컨텍스트에서 모델 안의 모듈은 서로 간에 높은 응집도를 갖고 있는 도메인 객체를 담는 이름이 붙여진 컨테이너 역활을 수행하며 각이 다른 모듈에 있는 클래스 사이에 낮은 결합도를 유지하는 것이 목표가 돼야 한다. 모듈 설계의 간단한 규칙 1. 모델링 개념에 맞
rabbitmq 설치후 prometheus 플러그인 port 변경 advanced.config 참조
도메인 주도 설계 구현 도메인 이벤트(Domain Events) 이벤트 저장소 한 바운디드 컨텍스트에 모든 도메인 이벤트를 하나의 저장소에 유지 관리할때 장점 1. 이벤트 저장소를 큐를 사용해 메시징 인프라를 통해 모든 도메인 이벤트를 발행한다. 2. 폴링 중인 클라이언트에게 REST 기반 이벤트 알림을 전달하기 위해 같
도메인 주도 설계 구현 도메인 이벤트(Domain Events) 도메인 모델에서 이벤트 발행하기 구독자 어떤 컴포넌트가 도메인 이벤트에 구독자를 등록하는가? 일반적으로 애플리케이션 서비스에서 등록이 이뤄지며 때론 도메인 서비스에서도 등록할 수 있다. 헥사고날 아키텍처를 사용할 땐 애플리케이션 서비스가 도메인 모델의 직접적
도메인 주도 설계 구현 도메인 이벤트(Domain Events) 이벤트의 모델링 이벤트를 모델링할 땐 해당 이벤트가 속한 바운디드 컨텍스트의 유비쿼터스 언어에 따라 이벤트와 속성을 명명하 애그리게잇의 커맨드 오퍼레이션 실행에 따른 결과로 그 이름은 보통 커맨드로 부터 파생된다 이벤트가 제공하는 행동적 오퍼레이션은 어떻게
도메인 주도 설계 구현 도메인 이벤트(Domain Events) 도메인이 발생한 사건을 위해 도메인 이벤트를 사용하자. 이벤트는 아주 강력한 모델링 도구이다. 일단 도메인 이벤트를 사용하는 법을 알고 나면 여러분은 이에 중독돼서 어떻게 여지껏 도메인 이벤트 없이 살아 왔는지 의아 해질 것이다. 언제 그리고 왜 도메인 이벤
도메인 주도 설계 구현 서비스(Service) 도메인 내에서 서비스란 도메인 고유의 작업을 수행하는 무상태의 오퍼레이션이다. 도메인 모델에서 서비스를 생성할 필요가 있음을 알리는 가장 정확한 지표는 에그리게잇이나 값 객체 상에 수행해야 하는 오퍼레이션이 메소드로는 부적절하게 느껴질때이다. DDD를 사용하면 이런 전술의 코
도메인 주도 설계 구현 값 객체(Value Objects) 값 객체의 저장 데이터 모델 누수의 부정적 영향을 거부하라. 값 객체를 데이터 저장소로 저장하는 대부분의 경우는 비정규화된 방식으로 저장된다. 즉 해당 특성은 부모 엔터티 객체와 같은 데이터 베이스 테이블 행에 저장된다. 이는 데이터베이스에서 값을 가지고 오는 과