Java 디자인 모드 -- - 작성자 모드(Builder)

1. 정의:
복잡한 대상의 창설과 그 표현을 분리하면 같은 창설 방식으로 다른 표현을 구축할 수 있다
2. 작성자 모드에는 일반적으로 4가지 요소가 포함됩니다.
   1. Builder: 추상적인 인터페이스, 추상적인 건설자라고 불리며 제품의 각 구성 부분의 구축을 규범화하는 데 사용된다.이 인터페이스의 복잡한 대상 구성 부분의 구축은 구체적인 대상 부품의 창설과 관련이 없다
   2. ConcreteBuilder: Builder 인터페이스를 구현하여 구체적 건설자라고 하고 제품의 각 구성 부분을 구체화하는 구축을 실현한다.건조가 끝난 후 제품의 실례를 제공하다
   3. Director: 건설자 대상을 호출하여 복잡한 대상을 구축하고 지도에서 제품 정보와 관련하여 제품이 일정한 순서에 따라 창설되는 것을 보증한다
   4. Product: 제품 클래스, 작성할 복합 객체 클래스
3. 코드 예:
제품 유형 Product:
추상 작성자 클래스 Builder:
4
/**
 *  
 * @author zqkj001
 *
 */
public class Product {
   
	private String part1;
	private String part2;
	public String getPart1() {
		return part1;
	}
	public void setPart1(String part1) {
		this.part1 = part1;
	}
	public String getPart2() {
		return part2;
	}
	public void setPart2(String part2) {
		this.part2 = part2;
	}
	
}
작성자 클래스ConcreteBuilder:
4
/**
 *  
 * @author zqkj001
 *
 */
public interface Builder {
    /**
     *  1
     * 
     */
    public void buildPart1();
    /**
     *  2
     * 
     */
    public void buildPart2();
    
    /**
     *  
     * @return
     */
    public Product getResult();
    
}
감독자 유형 Director:
4
/**
 *  
 * @author zqkj001
 *
 */
public class ConcreteBuilder implements Builder{
    
	private Product product=new Product();
	
	@Override
	public void buildPart1() {
		
		product.setPart1("build part1...");
		
	}

	@Override
	public void buildPart2() {
		
		product.setPart2("build part2...");
		
	}

	@Override
	public Product getResult() {
		
		return product;
	}
 
}
테스트 클래스:
/**
 *  
 * @author zqkj001
 *
 */
public class Director {
    
	/**
	 *  
	 */
	private Builder builder;

	public Director(Builder builder) {
		this.builder = builder;
	}
	
	/**
	 *  , 
	 */
	public void  buildProduct(){
		builder.buildPart1();
		builder.buildPart2();
	}
}
4. 건설자 모델을 사용하는 장소와 장점
a. 건설자 모델의 장점:
1. 건설자 모델을 사용하면 클라이언트가 제품 내부 구성의 세부 사항을 알 필요가 없다.
2. 구체적인 건설자 클래스는 서로 독립되어 시스템의 확장에 매우 유리하다.
3. 구체적인 건설자는 독립적이기 때문에 건설 과정에 대해 점차적으로 세분화할 수 있고 다른 모듈에 영향을 주지 않는다.
b. 사용 장소:
1. 복잡한 대상을 만들 때 이러한 대상의 내부 구성 부품 간의 건설 순서는 안정적이지만 대상의 내부 구성 부품은 복잡한 변화에 직면하고 있다.
2. 만들려는 복잡한 객체의 알고리즘은 해당 객체의 구성 부분과 구성 부분의 조립 방법에 독립적일 때입니다.

좋은 웹페이지 즐겨찾기