Java 작성자 모드 쉽게 파악

2458 단어 Java작성자 모드
건설자 모델은 복잡한 대상의 구축을 대상으로 한다. 예를 들어 한 제품은 여러 부분으로 구성되어 있고 각 부분은 단독으로 생산할 수 있다. 이때 건설자 모델로 제품의 각 부분을 구축하고director로 최종 제품의 조립을 완성할 수 있다.
특징:
1. 분업이 더욱 명확하고 구성과 구조가 분리되어 제품의 생산을 더욱 잘 통제할 수 있다.
2. 확장이 쉽고 새로운 수요가 있을 때 Builder 핑계만 대면 된다.
엔터프라이즈급 개발 및 일반 프레임워크에서의 응용: JMail
구성: 제품류, 추상적 건설자, 건설자, 감독.
제품 종류:

public class Product{
 private String partA;// ,  
 private String partB;// ,  
 private String partC;// ,  
 // set、get 
}
추상 작성자:

// 
public interface Builder{ 
 public void setPartA(String partA); 
 public void setPartB(String partB); 
 public void setPartC(String partC);
}
작성자 구현 클래스:

public class BuilderImpl implements Builder{
 
 private Product product;
 
 public BuilderImpl(){
 product = new Product();
 }
 
 public void builderPartA(){
 String partA = new String();// 
 product.setPartA(partA);
 }
 
 public void builderPartB(){
 String partB = new String();// 
 product.setPartB(partB);
 }
 
 public void setPartC(){
 String partC = new String();// 
 product.setPartC(partC);
 }
 
 public Product getProduct(){
 return this.product;
 }
}
감독 클래스:

public class Director{
 private Builder b ;
 
 public Director(Builder newB){
 this.b = newB;
 }
 
 public void createBuilder(Builder b){
 this.b = b;
 }
 
 public Product constructProduct(){
 b.builderPartA();
 b.builderPartB();
 b.builderPartC();
 }
}
테스트 클래스:

public class Demo{
 public static void main(String[] args){
 Builder b = new BuilderImpl();
 Director d = new Director();
 d.createBuilder(b);
 Product p = c.constructProduct();
 }
}
위의 예에서 우리가 발견하기 어렵지 않다. 만약에 우리가 따로 감독 클래스를 실현한다면 완전히 다른 제품을 조립할 수 있다. 감독 클래스가 제품의 조립을 통제하기 때문이다. 마찬가지로 만약에 우리가 추상 구축 클래스를 다시 실현한다면 완전히 다른 제품이 나타날 수 있기 때문에 그 중에서 구축자 모델이 더욱 추상화되고 절차화되는 것을 발견할 수 있다.
추상적인 공장 모델에 비해 이 두 가지가 놀랍게도 비슷하다는 것을 발견하기 어렵지 않다. 그러나 왜 두 가지 다른 디자인 모델로 나눌 수 있을까? 사실 중점은 제품의 복잡도와 추상적인 정도에 있다. 건설자 모델은 추상적인 공장 모델보다 더욱 추상화되고 복잡해진다. 즉, 건설자 모델이 대응하는 제품은 추상적인 공장이 대응하는 제품보다 더욱 복잡하고 제품 생산 절차가 더욱 추상적이다.
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.

좋은 웹페이지 즐겨찾기