본문 바로가기

Development/Node.js

도메인(Domain)과 엔티티(Entity)

도메인(Domain)이란?

프로그래밍에서 어떤 문제나 영역을 다루기 위한 전문적인 지식과 용어 집합을 말한다.

예를 들어 은행 도메인에서는 계좌, 입금, 출금, 이체와 같은 용어들이 사용된다.

일반적으로 도메인은 엔티티(Entity), 값 객체(Value Object), 서비스(Service)와 같은 다양한

요소들을 포함하며 이 요소들은 상호작용하여 비즈니스 로직을 구성한다.

도메인 주도 설계(Domain-Driven Design)와 같은 개발 패러다임에서는 비즈니스 로직을

도메인 모델(Domain Model)이라는 객체 지향적인 방식으로 표현하고 코드로 구현한다.

 

 

 

도메인 모델(Domain Model)

특정 도메인을 개념적으로 정리한 모델이다.

이는 도메인 주도 설계(Domain-Driven Design) 개념 중 하나로 소프트웨어를 개발할 때

비즈니스 로직을 표현하는 모델을 중심으로 개발하는 방법론이다.

도메인 모델을 사용하면 코드와 도메인을 모델링한 객체들이 비슷해지므로 코드를 이해하기 쉬워지고

유지보수가 용이해진다는 장점이 있다.

비즈니스(도메인) 요구사항이 변경될 때 높은 유연성과 대처 능력을 제공할 수 있다.

 

 

 

엔티티(Entity)란?

도메인에서 식별 가능한 유일한 객체를 말한다.

엔티티는 실제 DB 테이블과 연관되어 있는 핵심 클래스이고, 엔티티를 기준으로 테이블이 생성되고

DB 스키마가 변경된다.

예를 들어 은행 도메인에는 계좌 엔티티가 있다.

계좌 엔티티는 계좌 번호, 계좌 소유자, 잔액 등의 속성들을 가지고 있다.

'Development > Node.js' 카테고리의 다른 글

아키텍처 패턴(Architecture Pattern)  (0) 2023.05.04