[DDD] SHARED KERNEL(공유 커널)

0️⃣1️⃣·2024년 2월 21일
0

DDD

목록 보기
16/22

필요성

  • 밀접하게 연관된 애플리케이션을 대사응로 작업 중인 팀 간의 협력이 조율되지 않는다면 잠시 동안은 작업을 진행할 수 있겠지만 각 팀이 만들어낸 결과물을 함께 조합하기는 쉽지 않을 것이다.

  • 결국 처음부터 CONTINUOUS INTEGRATION을 적용했을 때보다 더 많은 시간을 번역 계층을 개발하고 구조를 개선하는 데 허비하게 될 것이며, 동시에 공통 UBIQUITOUS LANGUAGE를 구축하는 작업이 중복되고 UBIQUITOU LANGUAGE로 얻을 수 있는 이점을 잃어버릴 것이다.

공유

  • 두 팀간에 공유하기로 한 도메인 모델의 부분 집합을 명시해야 한다.

  • 모델 요소와 연관된 코드나 데이터베이스 설계의 부분 집합까지도 포함된다.

  • 명시적으로 공유하는 부분들은 특별한 상태를 가지며, 다른 팀과의 협의 없이는 변경할 수 없다.

SHARED KERNEL

  • CORE DOMAIN이거나 GENERIC SUBDOMAIN의 일부 또는 양쪽인 경우가 대부분이지만 두 팀에 모두 필요한 부분이라면 모델의 어떤 부분이라도 SHARED KERNEL이 될 수 있다.

  • 목표는 중복을 줄이고 두 하위 시스템 간의 통합을 비교적 용이하게 만드는 것이다.

0개의 댓글