[DDD] 값 객체(VO)를 활용한 유비쿼터스 언어 기반의 명확한 도메인 표현법
·
DDD
시작하며안녕하세요 개발자 stark입니다.최근 제가 업무 중에 선배님과 애그리거트(Aggregate) 설계에 대한 토의를 하던 중 VO에 대해서 많은 얘기가 오갔습니다. 저희는 어떤 시점에 VO를 어떻게 사용하는 것이 적절한지 얘기를 나누었습니다. 우선 식별자를 통해 값을 구별할 필요가 없다는 것부터 시작해서 VO안에 비즈니스를 담을 수 있고 불변의 장점이 있다는 것까지 얘기가 진행되었습니다. 그런데 얘기를 다 하고 나서 생각해 보니 무언가 핵심을 놓친 것만 같았습니다. 그게 무엇인가 했더니 VO를 어떻게(how) 사용하는지는 알고있는데 왜(why) 사용하는지는 모르고 있었기에 핵심 개념에 대해서는 하나도 얘기를 하지 않았던 것입니다. 그래서 바로 블라드 코노노프가 지은 '도메인 주도 설계 첫걸음'이라는..
[DDD] 유비쿼터스 언어(Ubiquitous Language)의 중요성
·
DDD
안녕하세요. 2025년을 준비 중인 개발자 stark입니다! 이번 포스팅에서는 '유비쿼터스 언어'에 대해 설명드리고자 합니다. 이 포스팅은 유비쿼터스 언어를 사용하는 DDD(Domain-Driven Design)에 대해 이해를 하고 오셨다고 가정하고 글이 작성되었습니다. 그래도 혹시 모르니 정말 간단히 설명드리자면 DDD는 '복잡한 도메인 문제'를 해결하기 위한 '설계 철학'으로, 개발팀과 비즈니스 팀 간의 긴밀한 협업을 강조합니다. 그 핵심 요소 중 하나가 바로 유비쿼터스 언어(Ubiquitous Language)입니다.  1. DDD에서 유비쿼터스 언어가 필요한 이유유비쿼터스 언어는 팀원들의 '협업'과 '의사소통'의 중심이 됩니다.소프트웨어 개발 과정에서 가장 흔한 문제 중 하나는 도메인 전문가와 개..