이번 주제는 DTO가 어디에서 변환되어야 적절한지에 관한 생각 정리이다. 정답이 없는 주제이지만, 생각을 정리하며 고민을 해결할 수 있다는 장점 때문에 논의를 진행하겠다. 마치 아이패드병처럼, 해결책을 찾으려는 노력이 필요한 상태이다.
아래 게시글을 읽고 오는 것을 추천한다
원래는 블로그에 DTO의 변환에 대해서 케이스 별로 구분하여 정리하려고 하였으나, 이미 잘 정리된 글이 있어 해당 게시글을 추천하고 넘어가겠다. 역시 세상은 넓고 뛰어난 개발자는 많다.
일단 현재 2024년 2월기준으로 나의 경험에 기반한 생각은 DTO-Entity 간의 변환 위치는 Service 레이어가 맞다고 생각한다. 이유는 아래와 같다.
그러나 공부하면서 명확하게 정하기보다는 상황에 유연하게 대응하는 것이 중요하다고 생각하게 됐다. 생각 정리에 특히 도움을 받은 주소들은 다음과 같다.
해당 글에서 김영한 선생님의 생각은 "컨트롤러 계층만 도메인 모델을 모른다고 해서 큰 이득을 얻지는 못한다"이다. 결국 프로젝트를 진행하면서 상황에 맞게 판단하여 적용하는 것이 적절한 것 같다. 이를 판단하는 것이 개발자의 역량이라고 생각한다. 이번 논의는 김영한 선생님의 말을 인용하며 마무리하겠다.