뭐만 하면 도메인... 엔터티... 그래서 대체 그게 뭔데?
Fomally it represents the target subject of a specific programming project, whether narrowly or broadly defined.
도메인은 특정 프로그래밍 프로젝트의 대상 주제를 나타낸다.
✅ 소프트웨어가 해결하고자 하는 문제 영역 또는 비즈니스 영역
사용자 요구사항, 비즈니스 프로세스, 규칙, 용어 등이 포함된 전반적인 맥락을 뜻한다.
예를 들어, 특정 병원을 위한 프로그램 생성을 목표로 하는 특정 프로그래밍 프로젝트의 경우는 해당 병원이 도메인이 된다. 여기서 해당 병원 뿐만이 아닌 모든 병원을 도메인으로 포함하도록 프로젝트의 범위를 확장할 수도 있다.
In computer science, an entity is an object that has an identity, which is independent of the changes of its attributes.
엔터티는 객체가 가진 속성의 변화와는 독립적인 정체성을 가진 객체를 의미한다.
✅ 도메인에서 식별 가능하고 독립적으로 존재하는 객체
엔터티는 물리적으로나 논리적으로 존재하는 것이다.
명사로 생각할 수 있다. (ex. 컴퓨터, 직원, 노래, 수학 정리 등)데이터베이스에서 테이블에 매핑될 수 있으며, 비즈니스 규칙에 따라 고유한 식별자를 가지고 있다.
⭐ 도메인은 비즈니스 문제 영역을 나타내며, 엔터티는 도메인에서 독립적으로 식별 가능한 객체이다.
엔터티는 도메인의 복잡성을 추상화한 것이라고 표현 가능하다.
엔터티는 도메인 모델에서 중요한 객체로, 해당 객체의 생명주기와 상태를 추적하고 관리한다.
예를 들어, 주문 도메인에서 주문 엔터티는 주문의 고유한 특성 및 주문과 관련된 정보를 나타낸다.
도메인 주도 설계에서는 도메인을 중심으로 소프트웨어를 개발하고, 엔터티는 도메인 모델의 핵심 구성 요소 중 하나로서 역할을 수행한다.
Domain_(software_engineering) (위키)
Entity (위키)
Entity–relationship_model (위키)