3. Builder Pattern-1
- What is Builder Pattern?-
●
객체를 생성하는 디자인 패턴의 한 종류
●
Abstract Factory Pattern과 Factory Pattern은 생
성하려는 객체에 속성이 많을 경우 문제 발생
➔
생성시 많은 전달 값이 필요
➔
옵션 전달 인자에 대해서 null 값으로 전달
➔
객체가 복잡하거나 무거울 경우 Factory class들 역시 복잡
하여 혼란을 야기함
●
Builder Pattern 은 많은 옵션 전달 값에 대한 객체
생성을 한 발자국씩 처리
●
결과적으로 원하는 객체를 전달 받음
4. Builder Pattern-2
- How can make? -
I.먼저 static nested class를 생성
II.외부 클래스의 전달인자를 복사하여 Builder class를
생성
III.Builder class의 생성자는 모든 필수 전달인자를 받
도록 생성
IV.Builder class는 옵션인자에 대한 메소드를 제공
이 메소드는 생성된 객체에 옵션 값을 추가 한 후에 리턴
V.마지막으로 build() 메소드를 제공
이 메소드는 클라이언트가 요청하는 객체를 생성하여 리턴
클라이언트의 생성자는 builder를 전달인자로 받는 private 으로 설정
6. Builder Pattern-4
- Where use Builder Pattern? -
•
JDK에서 Bilder Pattern 사용 예제
➔ Java.lang.StringBuilder#append() - unsynchronized
non-static method 에서는 성능 및 효율이 좋음
➔ Java.lang.StringBuffer#append() - synchronized
static 멤버 혹은 메소드에서는 동기화 제공으로 안정성 확보
➔
참고 :
http://javahungry.blogspot.com/2013/06/difference-between-string-stringbuilder.html
7. Prototype Pattern-1
- What is Prototype Pattern? -
●
생성 디자인 패턴 중의 하나로 객체를 생성하여 제공
●
객체 생성에 비용이 많이 들거나
많은 시간 또는 자원이 필요할 경우
이미 비슷한 객체가 존재할 경우 사용
●
원본 객체를 복사하여 새로운 객체를 생성하고 필요한
변경을 추가
●
이 패턴은 java에서 제공하는 cloning을 이용하여 객체
를 복사
8. Prototype Pattern-2
- How can make? -
I. DB에서 기초데이터를 읽어 들인 객체를 생성
II.그 객체에 몇가지 사항이 변경된 데이터가 우리
프로그램에 필요 한 경우
✗
객체를 new 키워드를 이용하여 매번 필요한
데이터를 읽어 들이는 것
✔
객체의 clone 메소드를 구현 하여 기초 데이터
가 설정된 객체를 얻는 것