DevBoi

[DDD] 도메인 주도 설계 (이론) - 바운디드컨텍스트,유비쿼터스언어 본문

Develop/[DDD]

[DDD] 도메인 주도 설계 (이론) - 바운디드컨텍스트,유비쿼터스언어

HiSmith 2023. 5. 19. 13:51
반응형

마이크로 서비스를 식별할때 대중적으로 쓰이는 방법이다.

 

비지니스 도메인 : 기업의 주요활동영역, 회사가 제공하는 서비스

(sub domain) 하위 도메인: 비즈니스 활동의 세분화된 영역, 제공하는 서비스 단위

 

쉽게 얘기하면, 도메인과 서브 도메인으로 분류할 수 있다.

 

하위 도메인의 개념 

하위 도메인은 도메인을 표현하는 영역이다.

 

* 핵심

-회사가 경쟁업체와 다르게 수행하고 있는 것

-복잡성 높지만 BIz경쟁력 제공

 

* 일반

- 모든회사가 같은 방식으로 수행하는 비지니스 활동

- 복잡하고 구현하기 어려우나, 경쟁력을 제공하지는 않음, 알려진 영역

- 인증,권한

 

* 지원

- 회사 비지니스 지원활동

- 기능간단,어떠한 경쟁우위 제공하지 않음

- CRUD, ETL

 

유비쿼터스 언어

도메인 주도 설계에서는 도메인 지식을 변환하는 대신 도메인을 설명하기 위한 단일화된 체계 : 유비쿼터스 언어

기술용어가 아닌, 비지니스 도메인에 관련된 용어

 

쉽게 얘기하면, 현직자가 쓰는 언어 를 그대로 코드에 옮기는거

즉 비지니스에서 쓰는 언어를 쓰는 언어이다.

 

 

도메인 모델링

* 유비쿼터스 언어로 사실상 비즈니스 도메인 모델을 구축하는 것이다.

* 모델로써 실 세계의 복잡성을 관리

* 모델은 본질적으로 추상화의 결과이다.

* 도메인 모델링 : 유비쿼터스 언어로 사실상 비즈니스 도메인 모델을 구축하는 것이다.

* 명사와 행위 파악해야한다.

 

바운디드 컨텍스트

-모델의 경계

-바운디드 컨텍스트는 유비쿼터스 일관성이 유지되는 경계

-유비쿼터스 언어의 용어,원칙,비지니스 규칙은 해당 바운디드 컨텍스트 내에서만 일관성이 있다.

 

각 독립적으로 각 도메인별로, 사용할 수 있게 나눠져있고

컨텍스트를 도메인 별로 구분을 하고

공통화, 마스터성의 개념을 많이 없애는 것이다.

 

중복의 개념과는 다르고, 별도로 정리를 한다고 이해를 하라고 한다.

음.. 이건 사실 아직 확신이 서지않는다.

 

 

반응형