(작성중) DDD

Salt·2023년 6월 27일

DDD

Domain이 최고수준에서 처리하는 아키텍처 (보통 최상위 기업에서 씀)

실제 어떤 로직을 처리하는 기능, 혹은 업무상의 규칙(ex. 재고가 0개면 주문불가), 레포지토리(인터페이스), 엔터티, 예외는 도메인 레이어에서 처리함

도메인은 다른 계층에 의존하는걸 금지한다. (다른 계층걸 가져다 쓰면 안됨, 반대는 상관없음)

다른 계층은 인프라스트럭처(레포지토리 구현체)에 의존해도 안됨.

컨트롤러(뷰에게뿌릴거), 애플리케이션(서비스), 인프라스트럭쳐(레포지토리, 보통은 저장)

도메인 계층을 쓰는 이유 : 안에서 사용되는 객체들을 응집시키기 위해, 아예 비즈니스 로직까지 집어넣어 캡슐화를 하고싶어서, 즉 정책이 바꼈을 때 오로지 도메인 레이어만 고치면 됨

저수준(컨트롤러, 레포지토리)에서 생긴 변화가 고수준(서비스, 도메인)에 영향을 미치지 않게 하도록 설계하자

0개의 댓글