728x90
레거시한 소스를 보면은 아래와 같이 객체를 생성하고 값을 할당하는 것을 흔하게 보았을 것이다.
ReservationInfo reservationInfo = new ReservationInfo(1, "reserved");
하지만, 이렇게 구성하는데에는 몇가지 단점이 존재한다.
1. (위에는 고작 2개이지만) 생성자 파라메타가 많을 경우 가독성이 좋지않다.
2. 값을 입력하는 순서가 매우 중요하다.
3. 어떤 값에 어떻게 매핑했는지 코드만 보고 정확하게 알기 힘들다.
이를 해결하기 위한 방법으로, 빌더패턴을 사용할 수 있다!!
Java spring 기반으로 백엔드 개발을 하다보면
DTO, Domain, Entity level 에서 객체에 값을 입력 시 Lambok 의 builder 를 사용하는것을 보았을 것이다.
예시)
import lombok.Builder;
@Builder
public record ReservationInfo(Long Id, ReservationStatus status,
ReservationInfo Info) {
public static ReservationInfo of(Reservation reservation) {
return ReservationInfo.builder()
.Id(reservation.getId())
.status(reservation.getStatus())
.build();
}
}
위의 소스중 하단에 위치하는 구문이 빌더패턴인데,
.builder() 와 build() 사이에 파라메타 name 값과 value 값을 입력하면 된다.
(option, DTO 나 entity class 를 만들때 record로 개발해보자)
728x90
'Java Spring' 카테고리의 다른 글
모키토 (Mockito) - Java Spring Test Code 기초 (0) | 2024.09.21 |
---|---|
Test Code 기본 - Java Spring Boot (0) | 2024.09.18 |
단위테스트 (unit test) - Spring Boot Test !! (0) | 2024.09.17 |
영속성 이란? (Java Spring Boot 완전기초) (1) | 2024.09.16 |
Spring Boot 완전 기초 (2) | 2024.09.15 |