Java Builder 패턴
1. 개념
동일한 구성 프로세스가 다른 표현을 만들 수 있도록 복잡한 빌드를 표현에서 분리합니다. [시공과 프리젠테이션의 분리, 같은 시공이라도 다른 표현]
추상팩토리와의 차이점 : 빌더 패턴에는 빌더를 관리하는 멘토가 있고, 사용자는 멘토는 건축업자에게 연락하여 제품을 완성합니다. 즉, 구축 모드는 단계별 구축 프로세스를 시행할 수 있습니다.
구성 모드는 복잡한 내부 생성을 내부적으로 캡슐화합니다. 외부 호출자의 경우 빌더와 구성 도구만 전달하면 호출자는 완성된 제품이 내부적으로 어떻게 빌드되는지 신경 쓸 필요가 없습니다.
간단한 예로 자동차를 예로 들겠습니다. 부품, 바퀴, 핸들, 엔진, 각종 소형 부품 등이 있습니다. 부품도 많지만 조립 방법은 훨씬 더 많습니다. 이 부품을 자동차로 만든다고? 이 조립 과정도 매우 복잡합니다(좋은 조립 기술이 필요함). 빌더 모드는 구성 요소와 그룹을 결합하는 것입니다.
2. UML 다이어그램
3. 코드
public interface Builder { void buildPartA(); void buildPartB(); void buildPartC(); Product getResult(); } //具体建造工具 public class ConcreteBuilder implements Builder { Part partA, partB, partC; public void buildPartA() { //这里是具体如何构建partA的代码 }; public void buildPartB() { //这里是具体如何构建partB的代码 }; public void buildPartC() { //这里是具体如何构建partB的代码 }; public Product getResult() { //返回最后组装成品结果 }; } //建造者 public class Director { private Builder builder; public Director( Builder builder ) { this.builder = builder; } public void construct() { builder.buildPartA(); builder.buildPartB(); builder.buildPartC(); } } public interface Product { } public interface Part { }
빌더를 호출하는 방법은 다음과 같습니다.
ConcreteBuilder builder = new ConcreteBuilder(); Director director = new Director( builder ); director.construct(); Product product = builder.getResult();
4. Java 애플리케이션에서는 JavaMail은 이 모드를 사용합니다.
읽어주셔서 감사합니다. 도움이 되기를 바랍니다. 이 사이트를 지원해 주셔서 감사합니다!
더 많은 Java Builder Pattern 빌더 패턴에 대한 자세한 설명과 예제를 보려면 PHP 중국어 웹사이트를 참고하세요!