Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 엘라스틱서치
- hibernate
- Java
- 스프링 배치
- Spring
- nginx
- SBT
- elastic search
- scala
- Gradle
- hadoop
- intellij
- Hbase
- Domain Driven Design
- hdfs
- DDD
- Angular2
- Spring Batch
- apache storm
- 제주
- Clean Code
- design pattern
- Spring Boot
- Linux
- docker
- 도메인주도설계
- Storm
- elasticsearch
- spark
- Spring XD
Archives
- Today
- Total
욱'S 노트
Builder pattern vs Factory pattern 본문
빌더 패턴은 소프트웨어 디자인 패턴이다. 오브젝트를 구성하는 추상화 스텝에 의도를 둔다. 다른 오브젝트를 생성하기 위해 추상화된 스텝의 다른 구현들을 활용한다.
Builder Pattern vs Factory method pattern
우리는 빌더 패턴과 팩토리 메소드 패턴을 사용하기 위한 결정을 할 때 항상 의문점을 가지게 된다. .
팩토리는 단순히 생성자와 관련된 랩퍼 함수이다. 팩토리 매서드 패턴에서는 전체 오브젝트를 위한 한번의 함수 호출이 요구된다. 하나의 라인에 모든 파라미터들이 전달되어야 하며 최종 오브젝트가 리턴될 것이다.
실제 생활에서 예를 찾아보면 레스토랑의 오늘의 식사와 같다. 식사의 생성은 팩토리 패턴이다. 때문에 우리는 주문할때 오늘의 식사를 달라고 하고 이러한 오브젝트는 비밀의 기준에 의해 생성된 식사를 제공한다.
빌더 패턴은 생성자를 위해 전달가능한 모든 파라미터의 래퍼 오브젝트이다. 여기서는 생성을 위한 파라미터를 전달하기 위한 세터가 허용된다.
실제 생활에서의 예는 커스텀 피자이다. 이 경우 추가 치즈라던지, 올리브, 옥수수들을 커스터마이징 할 수 있다. 그러므로 필더는 생성될 오브젝트가 가질 수 있는 어트리뷰트들을 노출하고 생성 과정은 감춘다.
출처 : Java Latte - http://java-latte.blogspot.kr/2014/10/builder-design-pattern-vs-factory-pattern-example-in-java.html
'Story > Design Pattern' 카테고리의 다른 글
Adapter 패턴 이야기 (0) | 2015.09.01 |
---|
Comments