#06장 응용서비스와 표현 영역

최범균 저「DDD START!, 2016」를 읽고 정리하였습니다.

이 장에서 다룰 내용

  • 응용서비스 구현

  • 표현 영역의 역할

  • 값 검증과 권한 검사

표현 영역과 응용 영역

  • 표현과 응용은 사용자와 도메인의 영역을 연결해주는 역할

    • 사용자 - 표현 - 응용 - 도메인

  • 표현: 사용자 요청 해석

    • 응용 계층으로 보내기 전 변환 역할

  • 응용: 기능 제공

@RequestMapping(value = "/member/join")
public ModelAndView join(HttpServletRequest request) {
    String email = request.getParameter("email");
    String password = request.getParameter("password");
    // 사용자 요청을 응용 서비스에 맞게 변환
    JoinRequest joinReq = new JoinRequest(emails password);
    // 변환한 객체(데이터)를 이용해서 응용 서비스 실행
    joinService.join(joinReq);
    //...
}

응용 서비스의 역할

  • 표현과 도메인 영역을 연결해 주는 창구인 facade 역할을 한다.

  • 주로 도메인 객체 간의 흐름을 제어한다.

  • 트랜잭션 처리를 한다.

  • 접근 제어와 이벤트 처리를 한다.

도메인 로직 넣지 않기

  • 도메인 로직을 도메인 영역과 응용 서비스에 분산해서 구현하면 코드 품질에 문제가 발생한다

    • 응집도 감소

    • 중복 코드 증가

  • 비번을 변경하는 것은 도메인 로직으로 간주되야 한다.

나머진 링크 참고

Last updated