티스토리 뷰

유비쿼터스 언어란?

유비쿼터스 언어(Ubiquitous Language)는 기획자, 개발자, 도메인 전문가가 같은 개념을 같은 단어로 부르자는 약속이다.

"장바구니"를 어떤 개발자는 관심 상품 목록이라고 이해하고, 다른 팀원은 구매 직전에 담아두는 공간으로 이해할 수 있다. 이런 인식 차이가 쌓이면 대화할 때마다 "그게 무슨 뜻이야?"를 반복하게 된다.

유비쿼터스 언어를 정하면 이 비용이 사라진다. 관심 상품은 "좋아요", 장바구니는 "미래에 구매할 상품을 담아두는 공간"으로 팀 전체가 같은 뜻으로 쓴다.

용어 사전 (Glossary)

유비쿼터스 언어를 실제로 관리하는 방법이 용어 사전이다. Bounded Context별로 해당 맥락에서 쓰이는 용어와 그 의미를 정리하면 된다.

Bounded Context 용어 의미
상품(Product) 상품(Product) 사용자가 구매할 상품의 정보
브랜드(Brand) 브랜드(Brand) 상품이 속한 브랜드 정보
좋아요(Like) 좋아요(Like) 사용자가 관심 있는 상품을 표시한 것
장바구니(Cart) 장바구니(Cart) 사용자가 미래에 구매할 상품을 담아두는 공간
장바구니(Cart) 장바구니 항목(CartItem) 장바구니에 담긴 상품
주문(Order) 주문(Order) 사용자가 상품을 구매하겠다고 표시한 행위
주문(Order) 주문 항목(OrderItem) 주문에 포함된 개별 상품 정보
주문(Order) 주문 취소(Order Cancellation) 사용자가 주문을 철회하는 행위
배송(Delivery) 배송(Delivery) 사용자가 주문한 상품을 전달하는 행위
배송(Delivery) 배송지(Delivery Address) 사용자가 주문한 상품을 전달받을 주소
회원(Member) 회원(Member) 서비스에 가입한 사용자

마무리

유비쿼터스 언어는 코드에도 반영되어야 한다. 용어 사전에서 "장바구니 항목"이라고 정의했으면 클래스 이름도 CartItem이어야 하고, 변수명도 cartItem이어야 한다. 코드와 용어가 따로 놀면 결국 개발자끼리도 "이 클래스가 그 개념 맞아?"를 반복하게 된다.

용어 사전은 한 번 만들고 끝이 아니다. 도메인이 바뀌면 용어도 바뀌고, 용어가 바뀌면 코드도 바뀌어야 한다. 번거롭지만 이걸 안 하면 시간이 지날수록 팀원들이 서로 다른 언어로 말하게 된다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2026/05   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함