Builder 패턴
Builder
패턴은 객체 생성에 관련된 디자인 패턴으로, 객체를 생성하는 방법과 표현하는 방법을 분리하여 동일한 생성 절차에서 서로 다른 표현 결과를 만들 수 있게 합니다.
DTO에 Builder를 사용하는 주요 이유는 다음과 같습니다:
1. 가독성 향상
객체 생성시에 원하는 매개변수를 선택적으로 입력하고 가독성 좋은 코드를 작성할 수 있습니다.
생성자에 많은 수의 매개변수가 있는 경우, 어떤 값이 어떤 변수에 할당되는지 이해하기 어렵습니다.
반면, Builder 패턴을 사용하면 각 변수에 어떤 값이 설정되는지 명확하게 파악할 수 있습니다.
// Without Builder
Product product = new Product(1, "Book", 1500, "Good book", "Author", "Publisher");
// With Builder
Product product = Product.builder()
.id(1)
.name("Book")
.price(1500)
.description("Good book")
.author("Author")
.publisher("Publisher")
.build();
2. 객체 불변성 유지
Builder 패턴을 사용하면 객체의 불변성을 유지할 수 있습니다.
객체가 한번 생성된 후에는 그 상태가 변경되지 않도록 할 수 있습니다. 이
는 멀티스레드 환경에서 객체의 안정성을 보장하는데 중요한 요소입니다.
3. 매개변수의 선택적 사용
모든 필드를 필수로 만드는 대신, 선택적인 필드를 가질 수 있습니다.
이는 특히 많은 수의 필드가 있는 객체를 다룰 때 유용합니다.
선택적인 필드를 가진 객체를 생성하는데는 Builder 패턴이 가장 적합합니다.
부족한 점이나 잘못 된 점을 알려주시면 시정하겠습니다 :>
728x90
'Computer Science > 디자인패턴' 카테고리의 다른 글
Service (0) | 2023.07.12 |
---|---|
Repository (0) | 2023.07.12 |
생성자 VS 빌더 패턴 (0) | 2023.07.05 |
단일 책임 원칙(Single Responsibility Principle, SRP) (0) | 2023.05.18 |
데코레이터 패턴(Decorator Pattern) (0) | 2023.05.03 |