본문 바로가기

Software Engineering

(2)
[DDD]바운디드 컨텍스트(Bounded Context)란? 바운디드 컨텍스트(Bounded Context)는 무엇인가요? 비지니스를 개념화 시키는 것이 모델링이며, 우리가 모델링을 할때 도메인을 정의를 통해서 모델링을 하게됩니다. 앞서 상품, 청구 각각의 도메인을 정의할때 각각은 서로 구분되어지는 경계 즉 Boundary가 있고, Boundary를 묶을때 의미(Context)가 동일하고 유사한 것들끼리 묶은 활동을 우리는 바운디드 컨텍스트를 정의 한다고 할수 있습니다. 바운디드 컨텍스트의 범위는 어디까지 일까요? 유사한것들 끼리 나누지만 유사의 정도가 차이 있으므로, 아래그림 처럼 경계를 더 크거나 더 작게 나눌 수 있습니다. 바운디드 컨텍스트는 어디까지 비지니스 환경이나 시스템 개발 환경에 따라 전략적으로 판단해서 나눌수 있으므로 정답은 없습니다. 예를들어 상..
[DDD] 도메인 주도 디자인(Domain Driven Design)의 시작 : 도메인 정의 Domain Driven Design 에서 말하는 '도메인'(Domain)을 사용하지만, 실무에서도 업무의 구분 등의 목적으로 '도메인' 이라는 용어를 자주 사용합니다. 시스템 혹은 회사의 비지니스를 잘 안다고 가정한다면, SW Arch. 관점에서 Biz. 상세하게 구조화 하고 분류 해야 할 필요가 있습니다. 이 단위가 도메인이라고 생각하면 될 것 같습니다. 20년째 제가 운영/개발을 하고 있는 통신 Biz. BSS 시스템에서도 도메인이라는 용어를 사용하고 있었습니다. "오더, 상품, 청구, 수납, 자원 등등.. " 또는 쇼핑몰 시스템이라면 "회원(고객)관리, 상품관리, 주문/계약, 파트너 관리 .. " 역시 이미 내부적으로 기능의 응집도와 결합도를 고민해서 나름의 작은 덩어리를 만들어서 사용하고 있을 ..