♪ 학습 내용
회원 도메인 테스트 / 주문 할인 도메인 설계 - 스프링 프레임워크를 왜 사용하는지 알기 위한 과정으로 개발 시에 순수 자바 사용
* 회원도메인 테스트
실제 서버 띄워 실행 시 객체들 간 참조 관계는 다음과 같다
- 1L 의 L은 id의 자료형인 Long을 의미한다.
이와 같은 테스트 방식은 직접 결과 호출해 눈으로 확인하여 검증해야 하는 단점이 있다.
* 회원도메인 테스트( JUnit 테스트 )
기존 main 패키지가 아닌 test를 이용한다
다음 구조로 나누어 test 코드 작성하면 조금 더 알아보기 쉽다
// given
이런 이런게 주어졌을 때
// when
이렇게 했을 때
//then
이렇게 된다. 검증.
결과를 호출해 눈으로 검증했던 조금 전 방식과는 다르게 편하게 결과 확인이 가능하다.
현대 시대에 Test Code는 선택이 아닌 필수 ... !
회원 도메인 설계 체크사항
- 구현체를 변경할 때 OCP원칙을 잘 따르는가?
아니요. 직접 코드를 변경해주어야한다.
- DIP원칙을 잘 따르고 있는가?
아니요. 인터페이스 뿐만 아니라 구현체까지 할당하며 의존하고 있다.
ex ) MemberService memberService = new MemberServiceImpl();
* 주문 및 할인 도메인 설계
주문 서비스 역할은 해당 회원의 등급을 조회하기 위해 회원 저장소 역할과
등급에 따른 할인을 적용하기 위해 할인 정책 역할에 접근해야함
회원 저장소와 마찬가지로 할인 정책 또한 역할과 구현을 구분하여 설계하였다.
덕분에 회원 저장소와 할인 정책을 유연하게 변경 가능하다.
실제 객체들간 참조 관계는 다음과 같다
클라이언트 → 주문서비스 impl → 메모리 회원 저장소 / 고정할인 정책
♪ 다음 학습 내용
주문 도메인 개발 및 테스트
'Dev > Spring' 카테고리의 다른 글
[Spring 기본] 객체 지향 원리 적용 (1) (0) | 2022.10.30 |
---|---|
[Spring 기본] 핵심 원리 예제 (4) (0) | 2022.10.28 |
[Spring 기본] 핵심 원리 예제 (2) (0) | 2022.10.27 |
[Spring 기본] 핵심 원리 예제 (1) (0) | 2022.10.27 |
[Spring 기본] 객체 지향 설계와 스프링 (2) (0) | 2022.10.26 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!