ㅡ 개발자와 실무진들이 업무에 맞는 용어 통일해서 쓰라는것인가?
개발자스러운 영어로 메뉴나 설명을 만들면 실무진들이 모두 공감해주는것은 아니니까.
일반적인 해설
ㅡ DDD의 주요 사용 목적
복잡한 도메인 모델 구축 :
DDD는 복잡한 비즈니스 도메인을 잘 이해하고 표현하기 위한 방법론으로 사용됩니다.
비즈니스 도메인을 객체 지향적으로 모델링하여 코드를 더 직관적으로 만들고, 비즈니스 로직을 더 효과적으로 표현합니다.
비즈니스 요구사항 반영 :
DDD는 비즈니스 요구사항을 코드로 정확하게 반영하는 데 중점을 둡니다.
도메인 모델은 비즈니스 규칙과 프로세스를 명확하게 표현하며, 이를 통해 개발자는 요구사항 변경에 대응하기 쉬워집니다.
소프트웨어의 실제 세계와 밀접한 연관 :
DDD는 소프트웨어를 비즈니스 도메인과 연결시킴으로써 개발자와 도메인 전문가 간의 의사소통을 개선하고 실제 비즈니스 요구사항을 더 잘 이해하려는 목적으로 사용됩니다.
초등학생용 해설
ㅡ 같은 언어 사용하기 (공통 언어) :
상상해보세요, 요리를 배우는데 여러분은 '다진 마늘'이라는 말을 쓰고, 요리 선생님은 '채 썬 마늘'이라는 말을 씁니다.
두 단어가 같은 것을 의미하는지 혼란스러울 거예요. DDD에서는 여러분과 선생님이 동일한 용어를 사용하도록 합니다.
예를 들어, 모두가 '다진 마늘'이라는 용어를 사용하면, 요리 과정이 훨씬 명확해지고, 오해의 여지가 줄어듭니다.
ㅡ 일하는 방식을 모델로 만들기 (도메인 모델) :
여러분이 레스토랑에서 일한다고 상상해봅시다.
이 레스토랑의 요리 방식을 컴퓨터 프로그램으로 만들려고 할 때, 정확한 '요리 모델'이 필요해요.
예를 들어, 피자를 만들 때 반죽을 얇게 펴고, 토마토 소스를 바르고, 치즈와 토핑을 올리는 순서를 정확하게 프로그램에 담아야 합니다.
이렇게 하면 프로그램이 실제 레스토랑에서 일하는 방식을 잘 반영할 수 있습니다.
ㅡ 서로 계속 대화하기 (지속적인 협력) :
요리 과정에서 여러분이 어떤 재료를 다르게 사용하고 싶다면, 선생님과 대화를 나누어야 합니다.
예를 들어, 피자에 페퍼로니 대신 버섯을 추가하고 싶다면, 선생님과 이야기하며 요리법을 조정합니다.
DDD에서는 개발자와 사용자가 계속 대화하며 프로그램이 실제 요구사항을 잘 반영하도록 만듭니다.
이런 방식으로 DDD는 요리법을 만드는 사람(개발자)과 요리를 하는 사람(사용자) 사이의 의사소통을 돕고, 더 맛있고 정확한 요리법(프로그램)을 만드는 데 도움을 줍니다. 요리에서 정확한 용어, 명확한 레시피, 그리고 지속적인 소통이 중요하듯이, 소프트웨어 개발에서도 이런 원칙이 매우 중요해요!