자바 빌더(Builder) 패턴
스터디 프로젝트 진행하다가 builder라는 개념을 쓰는 예시 코드가 있어서 나도 사용해보려고 찾아봤다.
빌더 패턴(Builder 패턴)?
빌더 패턴(Builder pattern)이란 복합 객체의 생성 과정과 표현 방법을 분리하여 동일한 생성 절차에서 서로 다른 표현 결과를 만들 수 있게 하는 패턴이다.
출처: 위키백과
생성자가 많고 매개변수가 많다면 Builder 패턴을 고려해서 사용한다.
사용 이유?
- 객체 생성을 깔끔하고 유연하게 도와준다.
- 불필요한 생성자를 제거 할 수 있다.
- 데이터의 순서에 상관없이 객체 생성이 가능하다.
- 명시적 선언으로 이해가 쉽다.
- 무조건 setter 생성을 방지하고 불변 객체로 만들 수 있다.
private User user = User.builder()
.userName("minchoi")
.passwd("1234")
.providerType(ProviderType.LOCAL)
.roleType(RoleType.USER)
.build();
User user2 = user.toBuilder().userName("minchoi2").build();
// user - userName (minchoi)
// user2 - userName (minchoi2)
user를 가져와서 setter를 해가지고 할 필요 없이 그냥 불변의 객체로 user
를 두고 user2
객체를 만들 수 있다.
Lombok의 @Builder
어노테이션을 이용하면 더욱 쉽게 사용 할 수 있음.
Author And Source
이 문제에 관하여(자바 빌더(Builder) 패턴), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@minchoi/자바-빌더Builder-패턴저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)