DDD(Domain Driven Design)2 DDD(Domain Driven Design) 애그리거트 Chapter 3. 애그리거트(Aggregate) 3.1 애그리거트 애그리거트는 복잡한 도메인을 이해하고 관리하기 쉬운 단위로 만들어 상위 수준에서 모델을 조망하기 위해 사용한다. 애그리거트는 엔티티 안에 밸류를 넣음으로 관련 객체를 묶는 방식으로 구현한다. 관련 객체를 하나로 묶기 때문에 루트 엔터티를 만들 때 관련 밸류 오브젝트도 함께 생성해야한다. 애그리거트는 보통 한 개의 엔터티 객체만 갖는다. 두 개 이상의 엔터티는 드물다. 3.2 애그리거트 루트 애그리거트에 속한 모든 객체가 일관된 상태를 유지하려면 애그리거트 전체를 관리할 주체가 필요하며, 이 주체는 루트 엔터티이다. 애그리거트 루트라고도 한다. 3.2.1 도메인 규칙과 일관성 루트의 핵심 역할은 도메인 규칙에 따라서 애그리거트의 일관성이 .. 2024. 3. 20. DDD(Domain Driven Design) 엔티티와 밸류 DDD 도메인 주도 개발을 하는 이유는 무엇일까 DDD로 개발하면 명확한 개념으로 잘게 쪼개어 개발함으로 - 요구사항에 적합한 개발 가능 - 다른 개발자가 코드를 볼 때도 이해가 쉬움 - 리팩토링의 수고를 덜 수 있음 - 유지보수 하기 좋은 코드가 됨 Chapter 1. 도메인 모델 시작하기 1.6 엔티티와 밸류 클래스 다이어그램은 엔티티와 밸류로 구분할 수 있다. 엔티티와 밸류를 구분해야 하는 이유는 도메인의 올바른 설계를 위해서이다. 1.6.1 엔티티 엔티티의 특징은 고유한 식별자를 가진다는 것이다. 이 고유한 식별자로 엔티티를 구분할 수 있다. 1.6.2 엔티티의 식별자 생성 엔티티의 식별자 생성 방법은 도메인 상황에 따라 달라진다. 식별자는 보통 다음 4가지로 생성한다. - 1) 특정 규칙에 따라.. 2024. 3. 19. 이전 1 다음