AGGREGATE

2019-03-08
동료 유영모 가 ID로 다른 애그리게잇을 참조하라 에서 애그리게잇을 본문에서 조립물로 바꾼 사연에 대한 이야기다. 두레이로 popit 글 검토를 하는 우리회사 popit 글 검토는popit 저자들이 글을 쓰는 워드프레스 시스템 상에서 벌어진다. 그런데, 사내에서 쓰는 두레이로 우리끼리 대화를 하고 싶어서 회사안에서는 채널을 만들었다. 워드프레스는 결과물 편집은 좋지만, 의견을 주고 받기는 어려우니까. 그러던 차에 내가 검토를 요구하는 유영모 에게 아래와 같이 답했다. [caption id="attachment_21024" align="aligncenter" width="548"]...
2019-03-05
필자는 지난 글 전반부에서 도메인 주도 설계 Domain-Driven Design 에서 말하는 구조물 중 하나 인 조립물 AGGREGATE[1] 에 대해 이야기했다. 조립물을 구현하다 보면 다른 조립물을 참조해야 할 때가 있다. 이를 구현하는 방식은 크게 조립물의 루트 엔터티 Root Entity 객체를 참조(포인터) 하는 것과 식별자로 어디서든 쓸 수 있는 값을 사용하는 방법(ID)이 있다. 도메인 주도 설계 구현 Implementing Domain-Driven Design 의 저자 반 버논 Vernon, Vaughn 은 "ID로 다른 애그리게잇을 참조하라"...
2019-01-22
필자는 도메인 주도 설계 Domain-Driven Design (이하 DDD) 빌딩 블록 Building blocks[1] 으로 애플리케이션을 구현하면서 엔티티 ENTITY[2] 마다 리파지토리 REPOSITORY 를 만드는 것을 자주 보았는데 자세히 살펴보면 여러 엔티티를 묶어서 하나처럼 사용하는 경우가 대부분이었다. DDD에서는 이러한 연관 객체의 묶음을 애그리게잇 AGGREGATE 이라고 정의하고 애그리게잇에 포함된 특정 엔티티를 루트 Root 엔티티라고 부른다. 그리고 리파지토리를 만들 때 애그리게잇 루트 엔티티에 대해서만 리파지토리를 제공하라...
2019-01-18
커머스 혹은 유통 도메인 설계에 대한 연작 내용 중에서 아래 그림이 있습니다. 그림에 대한 설명으로 계층이란 표현을 썼지만, 그림 자체에는 계층에 대한 어떤 내용도 없습니다. 연작이기 때문에 뒤에 쓴 다른 글 에 계층을 왜 두었는지 설명이 있을 뿐입니다. 그림만보면 상품 이라고 불리는 같은 개념을 구분 해보고, 각각을 Product 와 Item 이라고 불러보자고 결정한 사항이라 할 수 있습니다. [caption id="attachment_19550" align="alignnone" width="600"] 두 계층으로 나누어 연결한 상품 개념[/caption] 어쩌면 위스토어...
더보기