강의

멘토링

로드맵

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

이시현님의 프로필 이미지
이시현

작성한 질문수

토비의 스프링 6 - 이해와 원리

템플릿과 콜백의 역할 경계를 구분하는 기준

작성

·

13

0

안녕하세요! 토비님ㅎㅎ 강의를 잘 듣고있는데, 궁금한게 있어 여쭤봅니다!

 

템플릿/콜백 구조에서 '고정된 틀(템플릿)'과 변하는 로직(콜백)의 경계를 어디까지 두는 게 좋을지 궁금합니다. 예를 들어 강의에서는 ApiTemplate 안에서 URI 생성, 응답 처리, 예외 변환까지 모두 포함되어 있는데, 이런 부분들도 콜백으로 분리하는게 맞을까요 아니면 템플릿 내부에 두는 게 더 적절할까요?

답변 1

0

토비님의 프로필 이미지
토비
지식공유자

추상화는 하기 나름입니다. 처음부터 너무 자세하게 설계하기 보다는 강의에서 보여드린 대로 우선은 템플릿 콜백 없이 개발해보고, 중복된 틀이 자주 보이면 미래에도 이게 많이 발생하겠구나 생각해서 템플릿을 간단히 분리합니다. 그런데 또 시간이 지나도 그 틀 안에서도 변경이 되는 부분과 고정이 되는 부분이 존재하겠죠. 그러면 또 한단계 콜백을 분리할 수 있습니다.

스프링에 적용된 템플릿 콜백 스타일의 코드를 보면 그래서 콜백이 여러개인 경우가 많습니다. 각각에 대해서 변경 주기와 이유 등이 달라지지만 그때마다 중복된 코드가 만들어지지 않게 하는 거죠. 다만, 처음부터 너무 빨리 이를 분리해둘 필요는 없습니다. 그래서 저는 꼭 필요하다고 느꼈을 때 최소한으로 시작해서 점진적으로 추상화하는 것이 좋다고 생각합니다,

이시현님의 프로필 이미지
이시현

작성한 질문수

질문하기