빌더 패턴은 추상팩토리와 팩토리 메소드를 혼합시킨 방법으로 팩토리가 데이터 가공, 추상 팩토리는 데이터를 추상화 시킨 것이며 이 둘을 합친 것이 빌더 패턴이다.
팩토리 메소드 패턴은 아래 처럼 인자를 통한 객체 생성을 정의한다면,
Factory factory = new Factory("한국");
추상 팩토리 패턴은 객체를 통한 데이터를 추상화 시킨 것 이다.
Factory factory = new Factory( new 한국() );
이 둘을 합친 것이 빌더 패턴이다.
Builder builder = new Builder( new 한국(), 한국 );
아래 그림은 FileBuilder 클래스가 이루어진 클래스 계층도이다. (옆에 그림에서 File이라고 적은 것은 오타임. 최상위 추상 클래스의 이름은 FileBuilder 이다. )
위에 클래스에 엑셀 파일을 처리하는 코드는 아래와 같다.
public class 엑셀파일 {
public 엑셀파일() {}
public void 파일생성(파일명) {
파일명 생성 처리 코드
}
public void 파일저장(파일내용) {
파일 저장 처리 코드
}
}
이제 빌더 클래스 코드를 보겠다.
public class Director {
private FileBuilder builder; // 미리 구현한 파일클래스
private 파일명 파일명;
public Director(FileBuilder builder, String 파일명) {
this.builder = builder;
this.파일명 = 파일명;
}
public void process(파일내용) {
file.파일생성(파일명);
file.파일저장(파일내용);
}
}
실제 빌더 패턴을 사용한 코드
public class Use {
public use() {
Director director = new Director ( new 엑셀파일(), 파일명 );
director.precess(파일내용);
}
}
'프로그램 아키텍쳐 > 디자인패턴' 카테고리의 다른 글
프록시 패턴 ( Proxy Pattern ) (0) | 2009.10.30 |
---|---|
컴포지트 패턴 ( Composite Pattern ) (0) | 2009.10.30 |
추상 팩토리 패턴 ( The Abstract Factory pattern ) (0) | 2009.10.28 |
팩토리 메소드 ( The Factory Method ) (0) | 2009.10.28 |
CoR 패턴 ( Chain of Responsibility Pattern ) (0) | 2009.09.14 |