녕의 학습 기록

[Spring 기본] 핵심 원리 예제 (4) 본문

Dev/Spring

[Spring 기본] 핵심 원리 예제 (4)

kjyyjk 2022. 10. 28. 01:12

 학습 내용 

 

주문 도메인 개발 및 테스트 - 스프링 프레임워크를 왜 사용하는지 알기 위한 과정으로 개발 시에 순수 자바 사용


* 할인 도메인 개발

 

할인 정책 인터페이스와 정액 할인 정책(FixDiscountPolicy) 구현체 개발

 

DiscountPolicy 인터페이스를 구현, 오버라이드

할인 금액을 return 해준다

 

* 주문 도메인 개발

 

주문 엔티티 클래스, 주문 서비스 인터페이스, 주문 서비스 구현체 작성

 

주문 서비스 구현체

주문 서비스를 구현하기 위해서 회원저장소(등급 조회 목적)와 할인 정책(등급별 할인)이 필요함 [ 11~12라인 ]

 

할인금액(discountPrice)을 주문 서비스 구현체에서 직접 구하지 않고 할인 정책 구현체에게 넘겼다.[17라인]

단일 체계 원칙 SRP를 잘 고수하여 설계한 것.

 

전체적 흐름 : 주문 생성 요청 → 회원 정보 조회, 할인 정책 적용 → 주문 객체 생성 → 반환

(메모리 리포지토리와 고정금액할인정책을 구현체로 생성.)

 

* 주문 및 할인 도메인 테스트

 

회원 도메인 테스트 때와 마찬가지로 애플리케이션 로직으로 테스트하기 보다는 JUnit 테스트 이용 권장

 

에러 없이 실행 완료


다음 학습 내용 

 

개발한 코드에서 구현체 변경(고정할인 → 정률 할인)

즉, 객체 지향적으로 잘 개발했는지 확인

 

 

스프링 핵심 원리 - 기본편 - 인프런 | 강의

스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런...

www.inflearn.com