> Java > java지도 시간 > 본문

자바 빌더 패턴이란 무엇입니까? 달성하는 방법? (코드 포함)

不言
풀어 주다: 2018-09-20 14:31:39
원래의
1944명이 탐색했습니다.

이 글의 내용은 자바 빌더 패턴이 무엇인지에 관한 것입니다. 달성하는 방법? (코드 첨부) 특정 참고 가치가 있습니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

빌더 모드

1. 빌더 모드란 무엇인가요?

 빌더 패턴은 여러 개의 간단한 객체를 사용하여 복잡한 객체를 단계별로 구축합니다.
 Builder 클래스는 최종 개체를 단계별로 구성합니다. 이 Builder 클래스는 다른 개체와 독립적입니다.
 빌더 패턴은 주로 소프트웨어 시스템에서 사용됩니다. 때때로 우리는 특정 알고리즘을 사용하여 다양한 부분의 하위 객체로 구성된 "복잡한 객체"를 생성하는 작업에 직면합니다. 요구 사항의 변화에 ​​따라 이 복잡한 개체의 개별 부분은 종종 급격한 변화에 직면하지만 이를 하나로 묶는 알고리즘은 비교적 안정적입니다.

2. 빌더 모드의 구체적인 구현

구조 다이어그램

자바 빌더 패턴이란 무엇입니까? 달성하는 방법? (코드 포함)

빌더 모드에서 4가지 역할:
  1. Builder: 제품 개체의 각 구성 요소 구성을 표준화하기 위한 추상 인터페이스를 제공합니다. 이 인터페이스는 생성될 복합 객체의 부분을 지정하며 특정 객체 구성 요소 생성을 포함하지 않습니다.

  2. ConcreteBuilder: 다양한 비즈니스 로직에 대한 복잡한 객체의 각 부분을 구체적으로 생성하기 위해 Builder 인터페이스를 구현합니다. 제작 과정이 완료된 후 제품의 예시를 제공하세요.

  3. 디렉터: 특정 빌더를 호출하여 복잡한 개체의 다양한 부분을 만듭니다. 디렉터는 특정 제품 정보를 포함하지 않으며 개체의 각 부분이 올바른지 확인하는 역할만 담당합니다. 완전히 생성되거나 어떤 순서로 생성됩니다.

  4. Product: 생성할 복합 개체입니다.

java 코드 구현
1 휴먼 엔터티 클래스 생성

package com.designpattern.builderPattern;

/**
 * 对象 人
 *
 * @author zhongtao on 2018/9/17
 */
public class Human {

    private String head;
    private String body;
    private String hand;
    private String foot;

    public String getHead() {
        return head;
    }

    public void setHead(String head) {
        this.head = head;
    }

    public String getBody() {
        return body;
    }

    public void setBody(String body) {
        this.body = body;
    }

    public String getHand() {
        return hand;
    }

    public void setHand(String hand) {
        this.hand = hand;
    }

    public String getFoot() {
        return foot;
    }

    public void setFoot(String foot) {
        this.foot = foot;
    }
}
로그인 후 복사

2. 🎜#
package com.designpattern.builderPattern;

/**
 * 造人接口 规定造人的规范 需要头、身体、手、脚
 *
 * @author zhongtao on 2018/9/17
 */
public interface BuilderHuman {

    void buildHead();

    void buildBody();

    void buildHand();

    void buildFoot();

    /**
     * 返回创建的对象
     */
    Human createHuman();

}
로그인 후 복사

3. 다양한 유형의 사람을 생성하는 ConcreteBuilder 패턴의 핵심은 특정 빌더를 호출하여 다양한 사람을 생성합니다

package com.designpattern.builderPattern;

/**
 * 高个子的人
 *
 * @author zhongtao on 2018/9/17
 */
public class TallPersonBuilder implements BuilderHuman {

    Human human;

    public TallPersonBuilder() {
        human = new Human();
    }

    @Override
    public void buildHead() {
        human.setHead("普通的头脑");
    }

    @Override
    public void buildBody() {
        human.setBody("壮实,高大的身体");
    }

    @Override
    public void buildHand() {
        human.setHand("长手");
    }

    @Override
    public void buildFoot() {
        human.setFoot("长脚");
    }

    @Override
    public Human createHuman() {
        return human;
    }
}
로그인 후 복사

5. 빌더 패턴 테스트

package com.designpattern.builderPattern;

/**
 * 聪明的人
 *
 * @author zhongtao on 2018/9/17
 */
public class SmartHumanBuilder implements BuilderHuman {

    Human human;

    public SmartHumanBuilder() {
        human = new Human();
    }

    @Override
    public void buildHead() {
        human.setHead("高智商的头脑");
    }

    @Override
    public void buildBody() {
        human.setBody("健康的身体");
    }

    @Override
    public void buildHand() {
        human.setHand("普通的手");
    }

    @Override
    public void buildFoot() {
        human.setFoot("普通的脚");
    }

    @Override
    public Human createHuman() {
        return human;
    }
}
로그인 후 복사
#🎜🎜 #3. 빌더 패턴의 장점과 단점

#🎜 🎜#장점:

빌더가 독립적이고 확장이 쉽습니다.

세부적인 리스크 관리가 용이합니다.

    단점:
  1. 제품에는 공통점이 있어야 하며 범위가 제한됩니다.
  2. 내부 변경이 복잡할 경우 시공수업이 많아집니다.
    참고:
  1. 공장 모드와 차이점, 빌더 모드는 부품 조립 순서에 더 중점을 둡니다.

위 내용은 자바 빌더 패턴이란 무엇입니까? 달성하는 방법? (코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿