-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BE] 템플릿 코드를 리팩터링한다. #970
Comments
현재
어휴... |
public List<SectionResponse> mapToTemplateResponse(long reviewGroupId, long templateId) {
Template template = templateRepository.findById(templateId)
.orElseThrow(() -> new TemplateNotFoundByReviewGroupException(reviewGroupId, templateId));
return template.getSectionIds()
.stream()
.map(this::mapToSectionResponse)
.toList();
} 이렇게 매퍼에서는 다루고, 리뷰 그룹 정보를 밖에서 감싸주는 게 더 낫겠다 @Transactional(readOnly = true)
public TemplateResponse generateReviewForm(String reviewRequestCode) {
ReviewGroup reviewGroup = reviewGroupService.getReviewGroupByReviewRequestCode(reviewRequestCode);
List<SectionResponse> sectionResponses = templateMapper.mapToTemplateResponse(
reviewGroup.getId(),reviewGroup.getTemplateId()
);
return new TemplateResponse(
reviewGroup.getTemplateId(), reviewGroup.getReviewee(), reviewGroup.getProjectName(), sectionResponses
);
} |
@donghoony 요거 템플릿 쪽 리팩터링하면서 리뷰 수정부분까지 조금 적용해본게 있는데 거의 다 해서 조금 이따가 PR 올려볼게요 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
🔍 설명
mapper
의 책임을 조금씩 내려보는 게 어떨까 해서요! 새로운 객체를 도출할 수 있음에도 mapper/validator가 그 생각을 가로막을 수 있는 듯해 생각해보려고 합니다.🔥 할 일
TemplateMapper
의 책임 줄이기⏰ 예상 시간
🐴 할 말
TemplateResponse
는 [BE] Spring Cache를 적용한다. #791 의 대상이지만, 처음 캐싱될 때의 부하가 상당할 것으로 판단해 리팩터링은 필수라고 생각해요.The text was updated successfully, but these errors were encountered: