- 주문과 할인 도메인 설계
- 주문과 할인 정책을 다시 떠올려보자.
- 회원 : 상품 주문 가능
- 회원 등급에 따라 할인 정책 적용 가능
- 할인 정책 : 모든 vip는 1000원 할인하는 고정 금액 할인 적용(변경 가능)
- 할인 정책 변경 가능성이 높음
- 클라이언트는 주문 생성 가능/주문 서비스는 주문 생성의 역할을 함
- 회원저장소에서 회원 조회
- 회원등급을 가지고 할인 정책 역할에 할인 적용할 수 있는지 물어보고 그 결과를 주문서비스가 받음(주문 서비스는 회원 등급에 따른 할인 여부를 할인 정책에 위임)
- 주문서비스는 최종적으로 할인까지 적용된 주문결과를 클라이언트에게 반환
- 위처럼 역할과 구현을 분리 => 자유롭게 구현 객체 조립 가능. 회원저장소와 할인정책 모두 유연하계 변경 가능
- 정액 할인 정책에서 정률 할인 정책으로 변경되거나, 메모리 회원 저장소에서 DB저장소로 바뀌더라도 할인 정책 역할이나 회원 저장소 역할은 변경될 필요가 없.다 ! ( 협력관계 그대로 유지)
* Impl : 인터페이스에 대한 구현체가 딱 하나만 있으면 보통 Impl을 붙임
- 주문과 할인 도메인 개발
- 주문과 할인 도메인 실행 및 테스트
단위테스트가 정말 중요.
단위테스트 : 스프링이나 컨테이너 도움 없이 순수하게 java 코드로만 테스트하는 것.
=> 정리 .
클라이언트가 주분 서비스에 주문생성하고 주문 서비스는 그 결과를 클라이언트에게 반환하는 기능을 구현해봤다 !
'Learning-log > Spring & JPA' 카테고리의 다른 글
(스프링 핵심 원리 - 기본편) 3-(4)AppConfig 리택터링, (5)새로운 구조와 할인 정책 적용, (6) 전체 흐름 정리 (0) | 2023.04.01 |
---|---|
(스프링 핵심 원리 - 기본편) 3-(1)새로운 할인정책 개발, (2)새로운 할인 정책 적용과 문제점, (3)관심사의 분리 (0) | 2023.03.30 |
(스프링 핵심 원리 - 기본편) 2-(3) 회원 도메인 설계, (4) 회원 도메인 개발, (5) (1) | 2023.03.26 |
(스프링 핵심 원리 - 기본편) 2-(1) 프로젝트 생성, (2) 비즈니스 요구사항과 설계 (0) | 2023.03.25 |
(스프링 핵심 원리 - 기본편) 1-(5) 객체 지향 설계와 스프링 (0) | 2023.03.25 |