มันยังคงเป็นตัวอย่างใน Java และรูปแบบ (โดย Java และ Pattern Yan Hong) ต่อไปนี้เป็นรหัสที่แปลงเป็น Delphi และครั้งนี้ฉันเพิ่มความคิดเห็น :)
หน่วย Builderpattern;
ส่วนต่อประสาน
พิมพ์
tproduct = คลาส;
// บทสรุปข้อกำหนดของตัวสร้างบทคัดย่อ
tbuilder = คลาส (tobject)
สาธารณะ
ขั้นตอน BuilderPart1 ();
ขั้นตอน BuilderPart2 ();
ฟังก์ชั่น returnproduct (): tproduct;
จบ;
// สร้างคลาสผู้สร้างและส่วนประกอบที่เฉพาะเจาะจงเข้าด้วยกันเพื่อให้ลูกค้าไม่จำเป็นต้องทราบรายละเอียดการก่อสร้างที่เฉพาะเจาะจง
tConcreteBuilder = คลาส (tbuilder)
ส่วนตัว
ผลิตภัณฑ์: tproduct;
สาธารณะ
ขั้นตอน BuilderPart1 ();
ขั้นตอน BuilderPart2 ();
ฟังก์ชั่น returnProduct (): tproduct;
จบ;
//สินค้า
tproduct = คลาส (tobject)
-
จบ;
// บทบาทผู้กำกับถูกใช้โดยตรงโดยลูกค้า
tdirector = คลาส (tobject)
ส่วนตัว
ผู้สร้าง: tbuilder;
สาธารณะ
ขั้นตอนเริ่มต้น ();
จบ;
การดำเนินการ
{tdirector}
ขั้นตอน tdirector.initialize;
เริ่ม
Builder: = tconcreteBuilder.create;
builder.builderpart1 ();
builder.builderpart2 ();
Builder.Returnproduct;
จบ;
{tconcreteBuilder}
ขั้นตอน tconcretebuilder.builderpart1;
เริ่ม
// รหัสของคุณ
จบ;
ขั้นตอน tconcretebuilder.builderpart2;
เริ่ม
// รหัสของคุณ
จบ;
ฟังก์ชั่น tconcreteBuilder.ReturnProduct: tproduct;
เริ่ม
ผลลัพธ์: = ผลิตภัณฑ์;
จบ;
จบ.