스프링 핵심 원리 - 기본편 - (주문과 할인 도메인 설계)

홍범선·2023년 5월 7일
0

스프링

목록 보기
31/35

스프링 핵심 원리 - 기본편 - (주문과 할인 도메인 설계)


1. 주문 생성
클라이언트는 주문 서비스에 주문 생성을 요청한다. 클라이언트는 MVC에 컨트롤러, main이 될 것이다. id랑 상품명, 상품가격을 주문 서비스에 넘긴다.

  1. 주문서비스에서 회원 조회를 한다.
    할인을 위해서 회원 등급이 필요하다. 그래서 주문 서비스는 회원 저장소에서 findById하여 회원을 조회한다.

  2. 주문서비스는 할인 정책에 할인 여부를 위임한다.

  3. 주문 서비스는 할인 결과를 포함한 주문 결과를 반환한다.


위 그림을 보게 되면 역할(인터페이스)를 먼저 만들고 그 밑에 화살표로 구현체를 만들었다.
역할과 구현을 분리해서 자유롭게 구현 객체를 조립할 수 있게 설계했다. 덕분에 회원 저장소는 물론이고, 할인 정책도 유연하게 변경할 수 있다.
정액은 무조건 1000원 할인, 정률은 퍼센트단위로 할인해주는 것이다.


위 그림은 실제 new해서 할당 된 정보를 그림으로 나타낸 것이다. 주문 서비스 구현체에 메모리 인터페이스, 할인 인터페이스에 구현체를 할당한 다는 것이다.

profile
알고리즘 정리 블로그입니다.

0개의 댓글