PSD( Private-Self-Development )

DDD(Domain Driven Design) 본문

Backend/기타

DDD(Domain Driven Design)

chjysm 2022. 12. 1. 17:02

DDD 란?

도메인(Domain) 주도 설계는 도메인 패턴을 중심으로 소프트웨어를 설계를 하는 방식

 

도메인 ?

도메인 이란 소프트웨어가 풀고자하는 현실 세상의 문제 를 의미한다.

예를 들어, 은행 어플이라면 은행 업무 관련 기능이 도메인 로직 이고

그 외에 목록 조회 DB 연결, 네트워크 통신 과 같은 로직은 어플리케이션 서비스 로직  이다.

 

DDD 의 특징

  • 도메인 그 자체와 도메인 로직 에 초점을 맞춘다.
  • 보편적이고 통일된 언어의 사용
    -> 도메인 전문가와 소프트웨어 개발자 간 원할한 커뮤니케이션을 위함
  • 소프트웨어 엔티티와 도메인 컨셉트 를 서로 밀접하게 관리, 개발 한다.
  • 모듈간 의존성 최소화, 응집성 최대화

 

왜 DDD 설계 방식을 사용하는가?

소프트웨어의 복잡성을 최소화 하고,
요구사항을 쉽게 반영하고 소통이 원활하게 이루어질 수 있다.

 

 

 

 


참조: 

https://incheol-jung.gitbook.io/docs/q-and-a/architecture/ddd

 

DDD(Domain Driven Design) - Incheol's TECH BLOG

이벤트 소싱과 항상 함께 알아두어야 할 개념으로 CQRS가 있으며 간단히 설명하면 커맨드와 쿼리의 책임을 분리하자는 것이다. 커맨드는 일반적인 디비 기준으로 상태를 변경하는 C,U,D와 같은 메

incheol-jung.gitbook.io

https://velog.io/@dnflekf2748/DDDDomain-Driven-Design

 

DDD(Domain-Driven-Design)

D를 아십니까? >DDD라고 불리는 이 용어는 도메인 주도 설계라는 이름의 도메인과 일치하도록 소프트웨어를 모델링하는 데 중점을 둔 소프트웨어 설계 접근 방식이다. 특징 DDD는 계속해서 발전하

velog.io

https://velog.io/@eddy_song/domain-logic

 

비즈니스 로직, 도메인 로직이 도대체 뭐지?

🙄 내 앱은 아직 비즈니스가 아닌데요...?

velog.io