newcodingtest / ProjectManagementSystem

:sunny::sunny:레거시 코드 리펙토링 해보기:sunny::sunny:
1 stars 0 forks source link

[고민2] Dto To Entity 와 같은 변환메서드는 어디에 선언해야하지?? #17

Open newcodingtest opened 2 years ago

newcodingtest commented 2 years ago

Service 레이어 VS 도메인 객체 갑자기 헷갈리기 시작했다.

단순히 내가 느낀점 출처: https://pulpul8282.tistory.com/244 [기억의 파편들]

위의 내용을 정리해보자면 단순히 나는 서비스 레이어를 테스트 하는 시점에서 DTO 를 만들어주는 메소드가 서비스 레이어에 있다면 서비스 메소드를 테스트 해야되는데 서비스 메소드를 써야하는 이상한 상황이 발생한다고 생각했다.

서비스 인터페이스에 default 메소드로 선언되 있었고 단순히 파라미터로 주입받은 엔티티 타입을 DTO로 변경해주는 것에 불과하지만 하나의 메소드 테스트 라는 관점에서 볼때 테스트 대상이 되어야 할 메소드가 다른 테스트를 위해서 무조건 사용되야한다는? 이상한 의존관계 느낌을 받았다.

그런데도 많은 사람들이 서비스 레이어단에서 변환 메소드를 선언하여 사용하는것을 수없이 보고 혼란에 빠졌었다.

그에 대한 명쾌한 답을 적어놓은 블로그 글들을 올린다.

newcodingtest commented 2 years ago

https://techblog.woowahan.com/2668/ https://xlffm3.github.io/spring%20&%20spring%20boot/DTOLayer/ https://alkhwa-113.tistory.com/entry/DTO https://www.inflearn.com/questions/139564 https://tecoble.techcourse.co.kr/post/2021-04-25-dto-layer-scope/