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

임다정님의 프로필 이미지

작성한 질문수

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

이런 코드 유형?은 어디편에서 공부해야하나요?

작성

·

100

0


public class GuestBookMapper {

    public static GuestBookDTO toDTO(GuestBook entity) {
        return GuestBookDTO.builder()
                .guestBookId(entity.getGuestBookId())
                .content(entity.getContent())
                .nickName(entity.getNickName())
                .reportedCount(entity.getReportedCount())
                .createDate(entity.getCreateDate())
                .pw(entity.getPw())
                .build();
    }

    
    public static GuestBook toEntity(GuestBookRequest dto) {
        return GuestBook.builder()
                .content(dto.getContent())
                .nickName(dto.getNickName())
                .createDate(LocalDateTime.now()) 
                .reportedCount(0) 
                .pw(dto.getPw())
                .build();
    }

            }

프로젝트 진행중 다른분 코드를 공부하다가 Mapper이란 클래스는 왜있고 builder는 뭔지 이런 클래스가 왜있는지 공부하고싶은데 이런 코드유형을 알려주는 인강편이있나요?

답변 1

1

안녕하세요. 임다정님, 공식 서포터즈 y2gcoder입니다.

해당 내용을 학습할 수 있는 영한님의 강의는 없습니다.

다만 Mapper 클래스나 빌더 패턴 모두 개념자체는 어렵지 않습니다!

Mapper 클래스는 말그대로 서로 다른 두 객체간의 매핑을 도와주는 유틸 클래스입니다. 위에서 보이듯이 DTO<-> Entity 간의 매핑을 위해서도 많이 사용하시는 것 같습니다. 개인적으로 사용해봤을 때는 DTO 로직에 변환 로직이 들어가지 않고, 매핑 책임을 Mapper 클래스로 이양했기 때문에 DTO 자체의 코드는 좀 더 깔끔한 느낌이 드는 것이 장점이었습니다!

빌더 패턴 또한 그리 어려운게 아닙니다! 이 부분은 잘 정리된 링크가 있어 밑에 첨부하겠습니다!

https://refactoring.guru/ko/design-patterns/builder

https://inpa.tistory.com/entry/GOF-%F0%9F%92%A0-%EB%B9%8C%EB%8D%94Builder-%ED%8C%A8%ED%84%B4-%EB%81%9D%ED%8C%90%EC%99%95-%EC%A0%95%EB%A6%AC

 

감사합니다.

임다정님의 프로필 이미지
임다정
질문자

감사합니다!공식서포터즈님 궁금한게 한가지 더있습니다.영한님 강의를 쭉보면서 많은걸 배웠는데도 불구하고 팀플을하는데 모르는 개념들이 자주나옵니다..사실 REST API도 강의에서 많이 안다뤄서 아직 좀 어려운데 요즘은 다 RESTAPI로 진행하다보니 지금까지 뭘 공부한거지..싶기도하고 뭐 Mapper 클래스나 빌더패턴 개념은 안어려운데 처음보는 개념들은 어떻게 공부해야하죠?이런거말고도 또 모르는게 많을탠데..어디서 공부를 어떻게 해야할지 막막해집니다