DDD(Domain-Driven Design)란? 핵심 개념과 계층형 아키텍처
·
CS/Architecture
DDD(Domain-Drvien Design, 도메인 주도 설계) 란?도메인 모델을 기반으로 복잡한 소프트웨어 시스템을 설계하고 개발하는 방법론도메인(Domain)소프트웨어가 해결하고자 하는 문제 영역→ 도메인이 무엇인지 보다는 도메인에 포함되는 것이 무엇인가 정의를 내리는게 더 중요!예를 들어 여행 애플리케이션은 예약, 결제, 여행 일정, 회원 관리 등의 하위 도메인으로 나눌 수 있다. 예약 도메인 안에는 예약 요청, 확정, 취소와 같은 상태와 행위가 존재할 수 있다.이처럼 여러 도메인들이 상호작용하며, 비즈니스 도메인별로 나누어 설계하는 것을 도메인 주도 설계라고 한다.도메인과 객체의 차이점객체(Object)객체는 프로그램에서 특정 개념을 표현하기 위해 상태와 행동을 하나로 묶은 단위이다.객체는 현실..