รูปแบบตัวสร้างส่วนใหญ่ใช้เพื่อ "สร้างวัตถุที่ซับซ้อนในขั้นตอน" โดยที่ "ขั้นตอน" เป็นอัลกอริทึมที่เสถียรในขณะที่ชิ้นส่วนของวัตถุที่ซับซ้อนมักจะเปลี่ยน ดังนั้นโมเดลตัวสร้างส่วนใหญ่จะใช้เพื่อแก้ปัญหาการเปลี่ยนแปลงความต้องการของ "ส่วนวัตถุ" สิ่งนี้ช่วยให้สามารถควบคุมกระบวนการก่อสร้างวัตถุโดยละเอียดมากขึ้น
แพ็คเกจ com.shejimoshi.create.builder;/*** ฟังก์ชั่น: ความตั้งใจคือการแยกการสร้างวัตถุที่ซับซ้อนออกจากการเป็นตัวแทนเพื่อให้กระบวนการก่อสร้างเดียวกันสามารถสร้างการเป็นตัวแทนที่แตกต่างกัน* การบังคับใช้:* เมื่ออัลกอริทึมสำหรับการสร้างวัตถุที่ซับซ้อน เครื่องมือสตริงที่ได้รับการป้องกัน 2; บุคคลสาธารณะ Builder (String T1, String T2) {this.tool1 = t1; this.tool2 = t2; } // การวาดหัวเป็นโมฆะนามธรรมสาธารณะบิวด์เฮด (); // วาดช่องว่างนามธรรมสาธารณะ Body Buildbody (); // วาดรูปเท้าซ้ายและเท้าขวาเป็นโมฆะนามธรรมบิวทาร์ฟท์ (); บทคัดย่อสาธารณะเป็นโมฆะสาธารณะ buildarmright (); // วาดมือซ้ายและมือขวาโมฆะเป็นโมฆะบิวเลทฟล็อต (); บทคัดย่อเป็นโมฆะสาธารณะ Buildlegright ();} ตัวสร้างนามธรรมของเราได้รับคลาสย่อยที่สอดคล้องกันเพื่อสร้างประเภทการใช้งานจริงที่สอดคล้องกัน
แพ็คเกจ com.shejimoshi.create.builder;/*** ฟังก์ชั่น: ความตั้งใจคือการแยกการสร้างวัตถุที่ซับซ้อนออกจากการเป็นตัวแทนเพื่อให้กระบวนการก่อสร้างเดียวกันสามารถสร้างการเป็นตัวแทนที่แตกต่างกัน* การบังคับใช้:* เมื่ออัลกอริทึมสำหรับการสร้างวัตถุที่ซับซ้อน T1, String T2) {Super (T1, T2); } @Override โมฆะสาธารณะ buildhead () {system.out.println ("วาดส่วนหัวบาง"); } @Override โมฆะสาธารณะ buildbody () {system.out.println ("วาดร่างกายบาง"); } @Override โมฆะสาธารณะ buildarmleft () {system.out.println ("วาดแขนซ้ายบาง"); } @Override โมฆะสาธารณะ buildarmright () {system.out.println ("วาดขาซ้ายบาง ๆ "); } @Override โมฆะสาธารณะ buildleGleft () {system.out.println ("วาดขาซ้ายบาง ๆ "); } @Override โมฆะสาธารณะ BuildleGright () {System.out.println ("วาดขาขวาของผู้ชายบาง"); - แพ็คเกจ com.shejimoshi.create.builder;/*** ฟังก์ชั่น: ความตั้งใจคือการแยกการสร้างวัตถุที่ซับซ้อนออกจากการเป็นตัวแทนเพื่อให้กระบวนการก่อสร้างเดียวกันสามารถสร้างการเป็นตัวแทนที่แตกต่างกัน* การบังคับใช้:* เมื่ออัลกอริทึมสำหรับการสร้างวัตถุที่ซับซ้อน T1, String T2) {Super (T1, T2); } @Override โมฆะสาธารณะ buildhead () {system.out.println ("วาดหัวคนอ้วน"); } @Override โมฆะสาธารณะ buildbody () {system.out.println ("วาดร่างกายของคนอ้วน"); } @Override โมฆะสาธารณะ buildarmleft () {system.out.println ("วาดแขนซ้ายของคนอ้วน"); } @Override โมฆะสาธารณะ buildarmright () {system.out.println ("วาดแขนขวาของคนอ้วน"); } @Override โมฆะสาธารณะ buildleGleft () {system.out.println ("วาดขาซ้ายของคนอ้วน"); } @Override โมฆะสาธารณะ buildlegright () {system.out.println ("วาดขาขวาของคนอ้วน"); - เครื่องกำเนิดไฟฟ้าของเราถูกส่งมอบให้กับผู้บัญชาการเพื่อดำเนินการที่สร้างขึ้น
แพ็คเกจ com.shejimoshi.create.builder;/*** ฟังก์ชั่น: สร้างผู้บัญชาการของตัวละคร*/persondirector ชั้นเรียนสาธารณะ {ส่วนตัว Personbuilder pb; // ผ่านรูปแบบการสร้างอักขระที่สอดคล้องกัน persondirector สาธารณะ (personbuilder pber) {this.pb = pber; } // สร้างโมฆะสาธารณะ person createperson () {pb.buildhead (); pb.buildbody (); pb.buildarmleft (); pb.buildarmright (); pb.buildlegleft (); pb.buildlegright (); - กรณีทดสอบ:
แพ็คเกจ com.shejimoshi.create.builder;/*** ฟังก์ชั่น: โปรแกรมไคลเอนต์*/การทดสอบคลาสสาธารณะ {// สร้างตัวละครที่สอดคล้องกันเป็นโมฆะคงที่สาธารณะสร้าง (personbuilder pb) {// สร้างวัตถุที่เกี่ยวข้องกับโมเดลที่ส่งผ่านโดยพารามิเตอร์ pd.createperson (); } โมฆะคงที่สาธารณะหลัก (สตริง [] args) {personthinbuilder ptb = personthinbuilder ใหม่ ("เครื่องมือภาพ", "Brush"); สร้าง (PTB); // สร้างบาง ๆ System.out.println ("================================================================================== - - - สร้าง system.out.out.println ("============================================================================================= System.out.out.out.out.out.out.out.out.out.out.out.out.out.out.out.out.out.out.out ผลการทำงาน:
วาดหัวของชายผอมวาดหุ่นบาง ๆ วาดร่างของชายผอมวาดแขนซ้ายของชายผอมวาดแขนขวาของชายผอมวาดขาซ้ายของชายผอมวาดขาขวาของชายผอม - - วาดหัวคนอ้วนวาดร่างของคนอ้วนวาดแขนซ้ายของคนอ้วนวาดขาขวาของคนอ้วน
ข้างต้นคือโมเดลผู้สร้าง Java ฉันหวังว่ามันจะเป็นประโยชน์สำหรับทุกคนในการเรียนรู้การเขียนโปรแกรม Java