Java

builder 패턴

keepgoing 2023. 3. 16. 13:05

builder 패턴을 사용해야 하는 이유

1. 의도하지 않는 데이터 변경을 예방할 수 있음.

2. 필요한 데이터만 생성, 변경 가능

3. 가독성이 좋음

 

게시글 등록에서의 builder 패턴

 

// Post 클래스

private String title;
private String content;

@Builder
public Post(String title, String content){ //클래스 생성자, Builder 패턴 적용
	this.title = title;
    this.content = content;
}

// ServiceTest 클래스

//given
Post request = Post.builder()
	.title("제목")
    .content("컨텐츠")
    .build();
    
//wben    
boardRepository.write(request);

//then
Post post = boardRepository.findAll().get(0);
assertEquals("제목", request.getTitle());
assertEquals("컨텐츠", request.getContent());

 

builder 클래스를 생성하는 이유(EditorBuilder)

1) 필드들이 많이 존재할 때, 수정할 시 일일히 조건문을 달아주는건 번거롭기 때문에 EditorBuilder를 사용.