บทความนี้อธิบายรูปแบบวิธีการโรงงานของรูปแบบการออกแบบ Java แบ่งปันสำหรับการอ้างอิงของคุณดังนี้:
แบบจำลองวิธีการโรงงานใช้บ่อยมากและสามารถเห็นได้ในการพัฒนาประจำวันของเรา มันถูกกำหนดเป็น: กำหนดอินเทอร์เฟซสำหรับการสร้างวัตถุ แต่ให้คลาสย่อยตัดสินใจว่าคลาสใดที่จะสร้างอินสแตนซ์เมธอดการผลิตช่วยให้คลาสเลื่อนระดับคลาสเป็น subclasses (กำหนดอินเทอร์เฟซสำหรับการสร้างวัตถุ วิธีการเป็นโรงงานคือการสร้างอินสแตนซ์ของคลาสที่ล่าช้าไปยังคลาสย่อย)
ข้อดีของแบบจำลองวิธีโรงงาน:
1. การห่อหุ้มที่ดีและโครงสร้างรหัสที่ชัดเจน การสร้างวัตถุเป็นข้อ จำกัด ตามเงื่อนไข .
2. โมเดลวิธีการโรงงานมีความสามารถในการปรับขนาดได้อย่างยอดเยี่ยม เมื่อเพิ่มหมวดหมู่ผลิตภัณฑ์ตราบใดที่คุณปรับเปลี่ยนหมวดหมู่โรงงานที่เฉพาะเจาะจงอย่างเหมาะสมหรือขยายหมวดหมู่โรงงานคุณสามารถกรอก "การเปลี่ยนแปลงโอบกอด"
3. บล็อกหมวดหมู่ผลิตภัณฑ์ สิ่งนี้สำคัญมาก เปลี่ยน. เนื่องจากการสร้างอินสแตนซ์ของคลาสผลิตภัณฑ์เป็นความรับผิดชอบของคลาสโรงงานการสร้างผลิตภัณฑ์เฉพาะของวัตถุผลิตภัณฑ์จึงถูกกำหนดโดยคลาสโรงงาน
4. โมเดลวิธีการเป็นโรงงานเป็นกรอบการแยกตัวทั่วไป - ค่าโมดูลระดับสูงจำเป็นต้องรู้ชั้นเรียนนามธรรมของผลิตภัณฑ์ หลักการของการพึ่งพาอาศัยกันและพึ่งพาคลาสนามธรรมของผลิตภัณฑ์เท่านั้น
รหัสทั่วไปสำหรับรูปแบบวิธีการโรงงานมีดังนี้:
// บทคัดย่อผลิตภัณฑ์ชั้นเรียนสาธารณะชั้นเรียนบทคัดย่อผลิตภัณฑ์ {// วิธีการสาธารณะของคลาสผลิตภัณฑ์โมฆะ public method1 () {// การประมวลผลตรรกะทางธุรกิจ} // บทคัดย่อวิธีการสาธารณะบทคัดย่อโมฆะ Method2 ();};};อาจมีหลายหมวดหมู่ผลิตภัณฑ์เฉพาะทั้งหมดที่สืบทอดมาจากหมวดหมู่ผลิตภัณฑ์นามธรรมซอร์สโค้ดมีดังนี้:
// ผลิตภัณฑ์เฉพาะหมวดหมู่คลาสสาธารณะ concreteproduct1 ขยายผลิตภัณฑ์ {โมฆะสาธารณะวิธีการ 2 () {// การประมวลผลตรรกะทางธุรกิจ}} คลาสสาธารณะ concreteproduct2 ขยายผลิตภัณฑ์ {publ ic void method2 () {// การประมวลผลตรรกะทางธุรกิจ}}}}}}}}}}}}}}}คลาสโรงงานนามธรรมมีหน้าที่ในการกำหนดการสร้างวัตถุผลิตภัณฑ์ซอร์สโค้ดมีดังนี้:
// บทคัดย่อคลาสโรงงานคลาสสาธารณะผู้สร้างคลาสนามธรรมผู้สร้าง {/***สร้างคลาสผลิตภัณฑ์ที่มีประเภทพารามิเตอร์อินพุตสามารถตั้งค่าได้ด้วยตัวเองโดยปกติสตริง enum คลาสแน่นอนอาจว่างเปล่า*/นามธรรมสาธารณะ <t ขยายผลิตภัณฑ์> t createprodu ct (คลาส <t> cls);}วิธีการสร้างวัตถุผลิตภัณฑ์ถูกนำไปใช้ในคลาสโรงงานเฉพาะซอร์สโค้ดมีดังนี้:
// เฉพาะคลาสโรงงาน conctetEcreator ขยายผู้สร้าง {public <t ขยายผลิตภัณฑ์> t createProduct (คลาส <t> cls) {ผลิตภัณฑ์ผลิตภัณฑ์ = null; );วิธีการโทรของคลาสฉากมีดังนี้:
// ไคลเอนต์คลาสสาธารณะคลาส {โมฆะสาธารณะคงที่หลัก (สตริง [] args) {ผู้สร้างผู้สร้าง = ใหม่ concretecreator (); }การเปลี่ยนรหัสทั่วไปเป็นกรอบการทำงานที่ค่อนข้างใช้งานง่ายและง่ายต่อการขยายและผู้อ่านสามารถขยายได้ตามความต้องการของโครงการจริง
ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม Java ของทุกคน