DDD
-
도메인 지식 탐구DDD 2024. 1. 18. 00:01
도메인 지식을 알아야 하는 이유 우리가 개발하는 소프트웨어는 비즈니스 문제를 해결하는 솔루션이다. 소프트웨어의 프로젝트 성공은 도메인 전문가와 소프트웨어 엔지니어 간의 효과적인 지식공유에 달렸습니다. 문제를 해결하려면 문제를 이해해야 합니다. 그렇다고 해서 우리가 도메인 전문가가 될 필요는 없습니다. 하지만 그들을 이해하고 그들이 쓰는 동일한 비즈니스 용어를 사용하는 것이 중요합니다. 효과적인 지식공유를 위한 방법 도메인지식이 코드로 구현되기까지는 대게 다음과 같이 일어납니다. 도메인 전문가 -> 소프트웨어 분석가 -> 소프트웨어 명세서 -> 개발자 -> 구현 하지만 이런 단계별로 변환이 되면서 정보를 누락되거나 변질될 수 있습니다. 이때 지식을 효과적으로 전달하기 위해서 '유비쿼터스 언어'를 활용해 볼..
-
비즈니스 도메인이란?DDD 2024. 1. 14. 00:01
개요 이전글에서는 "DDD란 무엇인가?"에 대해 간략하게 알아보았습니다. 그러면서 도메인 개념이라는것에 대해서도 알아보았습니다. 이번글에서는 비즈니스 도메인에 대해 조금 더 자세하게 알아보겠습니다. 비즈니스 도메인이란? 일반적으로는 회사가 고객에게 제공하는 서비스입니다. 이마트는 유명한 소매업체입니다. 쿠팡은 배송 서비스를 제공합니다. 스타벅스는 커피로 잘 알려져 있습니다. 은행은 대출을 제공한다. 기업은 여러 비즈니스 도메인을 운영할 수도 있고 비즈니스 도메인이 변경될 수도 있습니다. 쿠팡을 예로 들면 쿠팡 플레이, 쿠팡 배달 등 다양한 분야의 비즈니스 도메인을 운영합니다. 기업은 비즈니스 도메인을 달성하기 위해 여러가지 하위 도메인을 운영합니다. 하위 도메인이란? 스타벅스가 커피로 잘 알려져 있지만 ..
-
DDD란 무엇인가?DDD 2023. 11. 28. 00:01
DDD란?DDD는 Domain-Driven Design의 약자로 도메인에 의한 설계로 해석해 볼 수 있습니다."도메인이란 무엇일까?"는 조금 뒤에 다시 알아보도록 하며..왜 DDD란 개념이 등장하게 되었을까요? 왜 사람들이 DDD를 추구하려고 할까?DDD에 관련된 서적들도 많고 세미나에서도 종종 등장하며 주변 동료들도 이야기하기도 합니다."왜 사람들이 DDD를 추구하려고 할까요?"라는 질문에 대답한다면 제가 이해한 바로는 소프트웨어의 복잡성과 의사소통의 비용을 줄이기 위해서입니다. 이때 소프트웨어를 구현하기 위해서는 보통 크게 두 가지 문제에 부딪히게 됩니다.1. 사용자가 제시하는 복잡하고 자주 변화하는 요구사항(필수적 복잡성)2. 성능이나 협업에서 발생하는 기술적인 어려움(부수적 복잡성) 이때 DDD..