인프런 커뮤니티 질문&답변
MemberService와 EmailSender 책임 분리에 대한 질문
작성
·
5
·
수정됨
0
안녕하세요, 토비님.
강의 초반에 말씀해 주신 것처럼, 리팩토링 과정에서 “제가 했다면 어떻게 했을까”를 계속 생각해 보며 토비님의 의사결정 과정을 따라가고 있습니다.
MemberService.register() 메소드에서 emailSender.send(...)를 sendWelcomeEmail()로 분리하시는 과정을 보며 두 가지 고민이 생겼습니다.
첫째, 환영 이메일의 내용이나 정책이 변경될 때마다 MemberService의 코드가 함께 변경되어야 한다면, 이는 SRP 위반에 해당하지 않는지에 대한 고민입니다. 이 경우 환영 이메일 전송에 대한 책임을 EmailSender 인터페이스 쪽으로 옮기는 것이 더 적절한지 궁금해졌습니다.
둘째, 만약 EmailSender 인터페이스에 해당 메소드를 추가한다면, 구현체가 늘어날수록 인터페이스가 비대해지거나 향후 구현 복잡도가 증가할 수 있다고 느꼈습니다. 이런 경우 default method로 제공하는 방식에 대해서는 어떻게 생각하시는지도 궁금합니다.
답변
답변을 기다리고 있는 질문이에요
첫번째 답변을 남겨보세요!




