도메인 모델 아키텍처 패턴

도메인 로직, 비즈니스 로직을 어디에 둘 지를 결정하는 패턴

  1. 트랜잭션 스크립트 - 서비스 메서드(PaymetService.prepare)
  2. 도메인 모델 - 도메인 모델 오브젝트 (Payment)

Payment를 트랜잭션 스크립트 → 도메인 모델로 패턴 변경

Payment에 핵심 로직 추가

PaymentService 변경 후

기존의 내부 로직이 4줄에서 2줄로 줄어들었음

코드 변경 시 문제가 없는지 확인 하는 방법? 테스트로 검증!

image.png

테스트 모두 성공하는 것을 확인할 수 있음

이렇게 코드 구조를 완전히 개선 하더라도 기능에 문제가 없다는 것 ⇒ 리팩토링

리팩토링을 하려면 반드시 테스트 코드를 만들어 줘야 됨

PaymentTest

PaymentService를 통한 테스트를 만드는 것도 가능하지만 Payment 클래스에 대한 테스트도 바로 만들 수 있음