DDD 기초 - 응용 서비스와 표현 영역

roon-replica·2022년 8월 24일
0

architecture

목록 보기
2/3

표현 영역과 응용 영역

  • 표현 영역과 응용 영역은 도메인과 사용자를 연결해 주는 매개체
  • 응용 영역은 표현 영역에 의존하지 않음.
    (ex. 응용 영역은 사용자가 브라우저를 사용하는지, REST API를 호출하는지, TCP 소켓을 사용하는지 알 필요가 없고 사용자가 요청한 기능 실행과 실행 결과 반환에 집중.)

응용 서비스의 역할

  • 사용자의 요청을 처리하기 위해 도메인 객체를 가져와 사용.

    도메인 로직은 응용 서비스가 구현하면 안 되고 도메인 객체가 구현.
    그 이유는..

    • 코드 응집성
    • 코드 중복 방지
      (ex. Member 암호 확인 기능을 Member가 구현)
      서비스는 구현된 기능을 사용만!!
  • 응용 서비스는 실행 흐름 제어, 트랜잭션 처리 담당

    도메인객체_흐름_제어(request){
      1. 레포지토리에서 애그리거트 가져오기
      2. 애그리거트가 도메인 기능 실행
      3. 결과 반환
    }
    애그리거트_생성(request){
      1. 데이터 유효성 검사
      2. 애그리거트 생성
      3. 레포지토리에 애그리거트 저장
      4. 결과 반환 
    }

응용 서비스의 구현

  • 응용 서비스가 표현 영역에 의존하지 않도록 주의

값 검증

  • 표현 영역: 필수 값, 값의 형식 검증
  • 응용 영역: 논리적 오류 검증 (또는 모든 검증을 응용 영역에서 수행)
profile
집중 ➝ 프로세서↑ 시간 투자 ➝ 디스크↑

0개의 댓글