본문 바로가기
Design_Pattern

생성 패턴 - 빌더 패턴 (Builder Pattern)

by LeviiOS 2024. 4. 2.
반응형

Swift에서 빌더 패턴의 이해와 적용
프로그래밍에서 객체의 생성과 설정 과정은 때때로 복잡하고 오류가 발생하기 쉬운 작업이 될 수 있다.

특히 객체가 다양한 속성과 설정을 필요로 할 때, 그 과정은 더욱 까다로워진다.

이러한 문제를 해결하기 위해 빌더 패턴을 사용할 수 있다.

빌더 패턴의 핵심 아이디어는 객체의 생성과 설정 과정을 객체 자체가 아닌 별도의 '빌더' 타입이 수행하게 하는 것.

 

장점

1. 객체는 불변성을 유지.

2.생성 과정에서의 오류 가능성을 최소화

3. 가독성 향상: 빌더 패턴을 사용하면, 객체의 생성과 설정이 메소드 체이닝을 통해 순차적 이루어짐. 이는 코드의 가독성을 크게 향상시키며, 유지 보수 시에도 이점을 제공함.
4. 불변성 유지: 객체가 한 번 생성된 후에는 변경되지 않습니다. 이는 애플리케이션의 안정성을 보장하며, 예기치 않은 버그를 방지합니다.
5. 선택적 설정 가능: 빌더 패턴을 사용하면, 객체 생성 시 모든 속성을 설정할 필요가 없음. 필요한 속성만을 선택적으로 설정할 수 있어 유연성 증가.
6. 확장 용이성: 새로운 속성이 추가되어도 빌더 클래스에 새로운 메소드를 추가하기만 하면 되므로, 기존 코드에 영향을 주지 않으면서 확장할 수 있다.
7. 오류 방지: 필수적인 속성이 설정되지 않으면 객체가 생성되지 않기 때문에, 런타임 오류의 가능성을 줄일 수 있다.

 

실제 적용 사례

 

빌더 패턴 적용


기존의 방식대로라면 ArticleView의 인스턴스를 생성한 후, 각각의 속성을 개별적으로 설정해야 한다.

하지만 빌더 패턴을 적용하면, 모든 설정을 빌더를 통해 연쇄적으로 적용할 수 있으며, 최종적으로 build() 메소드를 호출하여 완성된 객체를 얻을 수 있다.
위와 같은 방식으로, ArticleView의 모든 설정이 빌더 내에서 이루어지며, 완성된 뷰 객체는 설정이 끝난 후에만 접근할 수 있다.

 

 

반응형

'Design_Pattern' 카테고리의 다른 글

데코레이터 패턴(Decorator Pattern)  (0) 2023.03.15
어댑터 패턴(Adapter Pattern)  (0) 2023.03.13