ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 도메인(Domain)과 도메인 모델(Domain Model)
    소프트웨어 개발 개념 2025. 2. 25. 22:46
    도메인, 도메인 모델에 대해서 정리합니다. 이 문서는 수정될 수도 있습니다.

     

     

    도메인이란 단어의 혼용

    도메인이란 단어를 모호하게 생각해 도메인과 연관된 단어는 죄다 "도메인"이라고 불렀던 것 같습니다. 특히 도메인 설계 단계에서 해결하고자 하는 기능을 정리하고 있노라면 '그래서... 도메인이란 게 정확히 뭐지?'라는 생각도 들었고요. 이렇게 부르는 것이 저뿐만 아니라 다른 사람들에게도 혼돈을 줄 수 있겠다, 싶어 짜투리 시간을 내 정리하고 있습니다.

     

     

    1. 도메인(Domain)

    소프트웨어 개발에서 도메인은 해결하려는 문제의 영역을 의미합니다.

    더보기

    또 이때 해결이라는 워딩을 쓰는 이유는 소프트웨어의 역할에 이유가 있습니다.

    소프트웨어가 기존에 불편하거나 비효율적인 문제를 개선하거나 없애는 역할을 했기 때문입니다.

    • 전자상거래(E-commerce) 도메인
      • 하위 도메인 : 상품 검색, 장바구니, 결제 처리, 주문 관리, 배송 추적
    • 금융(Finance) 도메인
      • 하위 도메인 : 계좌 관리, 대출 서비스, 이체 서비스, 결제 시스템, 보험 서비스
    • 헬스케어(Healthcare) 도메인
      • 하위 도메인 : 병원 예약 시스템, 진단 서비스, 의약품 관리, 건강 데이터 추적
    • 물류(Logistics) 도메인
      • 하위 도메인 : 재고 관리, 배송 추적, 창고 관리, 물류 최적화

     

     

    "그 도메인에 대한 지식이 중요하죠" 라는 말은 즉, 금융 도메인의 경우, 금융 시스템을 개발하려면 금융 서비스에 대한 지식(예: 계좌, 대출, 이체, 결제 등)이 필요하다는 겁니다.

     


     

     

    2. 도메인 모델(Domain Model)

    특정 도메인개념규칙소프트웨어 시스템 내에서 객체클래스로 표현한 것입니다.

     

    도메인 내에서 중요한 고유 식별자(ID)를 갖는 객체인 엔티티(Entity), 식별자가 필요 없고, 불변의 성격을 갖는 객체인 값 객체(Value Object, vo), 여러 개의 엔티티와 값 객체를 하나로 묶어서 처리하는 루트 엔티티인 집합체(Aggregate), 도메인 모델 내에서 비즈니스 로직을 구현하는 객체인 도메인 서비스(Domain Service)들이 도메인 모델의 구성 요소가 될 수 있겠습니다.

     

    '소프트웨어 개발 개념' 카테고리의 다른 글

    API 란?  (0) 2025.03.01
    프레임워크와 라이브러리의 차이점  (0) 2025.02.03
Designed by Tistory.