강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

까르보떡볶이님의 프로필 이미지
까르보떡볶이

작성한 질문수

토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1

회원 애플리케이션 서비스 테스트 (2)

MemberService와 EmailSender 책임 분리에 대한 질문

작성

·

6

·

수정됨

0

안녕하세요, 토비님.

 

강의 초반에 말씀해 주신 것처럼, 리팩토링 과정에서 “제가 했다면 어떻게 했을까”를 계속 생각해 보며 토비님의 의사결정 과정을 따라가고 있습니다.

 

MemberService.register() 메소드에서 emailSender.send(...)sendWelcomeEmail()로 분리하시는 과정을 보며 두 가지 고민이 생겼습니다.

 

첫째, 환영 이메일의 내용이나 정책이 변경될 때마다 MemberService의 코드가 함께 변경되어야 한다면, 이는 SRP 위반에 해당하지 않는지에 대한 고민입니다. 이 경우 환영 이메일 전송에 대한 책임을 EmailSender 인터페이스 쪽으로 옮기는 것이 더 적절한지 궁금해졌습니다.

 

둘째, 만약 EmailSender 인터페이스에 해당 메소드를 추가한다면, 구현체가 늘어날수록 인터페이스가 비대해지거나 향후 구현 복잡도가 증가할 수 있다고 느꼈습니다. 이런 경우 default method로 제공하는 방식에 대해서는 어떻게 생각하시는지도 궁금합니다.

답변

답변을 기다리고 있는 질문이에요
첫번째 답변을 남겨보세요!
까르보떡볶이님의 프로필 이미지
까르보떡볶이

작성한 질문수

질문하기