그것은 여전히 Java와 Pattern의 예입니다 (Java와 Pattern Yan Hong) 다음은 Delphi로 변환 된 코드이며 이번에는 의견을 추가했습니다 :)
단위 builderpattern;
인터페이스
유형
tproduct = 클래스;
// 초록 빌더 사양 인터페이스
tbuilder = class (tobject)
공공의
절차 builderpart1 ();
절차 builderpart2 ();
함수 returnProduct () : tproduct;
끝;
// 클라이언트가 특정 구성 세부 사항을 알 필요가 없도록 특정 Creator 클래스 및 구성 요소를 함께 만듭니다.
tconcretebuilder = class (tbuilder)
사적인
제품 : tproduct;
공공의
절차 builderpart1 ();
절차 builderpart2 ();
함수 returnProduct () : tproduct;
끝;
//제품
tproduct = class (tobject)
//
끝;
// 디렉터 역할은 클라이언트가 직접 사용합니다
tdirector = class (tobject)
사적인
빌더 : tbuilder;
공공의
절차 초기화 ();
끝;
구현
{tdirector}
절차 tdirector.initialize;
시작하다
빌더 : = tconcretebuilder.create;
builder.builderpart1 ();
builder.builderpart2 ();
Builder.returnProduct;
끝;
{tconcretebuilder}
절차 tconcretebuilder.builderpart1;
시작하다
// 코드
끝;
절차 tconcretebuilder.builderpart2;
시작하다
// 코드
끝;
함수 tconcretebuilder.returnProduct : tproduct;
시작하다
결과 : = 제품;
끝;
끝.