[넥스트스텝] TDD 리팩토링 연습과정

2021. 9. 2. 08:25개발공부/테스트 주도 개발

TDD 리팩토링 연습과정

오늘의 핵심: 다른건 몰라도 볼링 1단계는 꼭 해보기

레거시 코드는 대부분 레이어드 아키텍처 입니다. OOP 다음으로 DDD를 경험해봤으면 좋겠다는 자바지기의 말씀.
그리고 요즘 MSA가 대세인데, 도메인 주도 개발을 모르고서 MSA를 도입한다는 건 순서가 맞지 않다고 하셨습니다.
그만큼 도메인에서 비즈니스 로직을 처리하는 개발 방식이 테스트 지향, 객체 지향적이기 때문에 서비스 아키텍처 이전에
알아야할 방식이라고 강조하신 것 같습니다.

image

비즈니스 로직은 도메인 레이어에 구현해야 합니다.
왜냐면 도메인 주도 개발은 객체 지향적이기 때문입니다.
반대로 서비스 레이어는 절차 지향적일 가능성이 높습니다. getter도 써야하기 때문입니다.

image

볼링 1단계 미션은 아래와 같습니다.

image

소프트 del

image

좋지 않은 서비스 코드의 예(내가 짠 코드를 보는 줄...) 비즈니스 로직은 도메인으로 옮겨야 합니다!

image

그리고 mock 없이 단위 테스트 설계를 할 수 있어야 객체 지향적인 코드입니다.
비즈니스 로직은 도메인 레이어로 옮기면 버그 대응은 물론 테스트하기 편리해집니다.


출처: 넥스트스텝 자바지기 박재성님 라이브 강의 중