เขียน:”ประกอบชิ้นส่วนเพื่อสร้างทั้งหมด

อะไร? “รูปแบบการออกแบบคอมโพสิต” คืออะไร
คือรูปแบบการออกแบบเพื่อสร้างโครงสร้างที่เหมือนต้นไม้ที่มีองค์ประกอบ

คลาสตามคำจำกัดความมีส่วนต่างๆ อยู่ในนั้น Composite เป็นมากกว่าคลาส POJO ธรรมดาที่มีวิธี setter เพื่อให้มีส่วนของอ็อบเจ็กต์หลักได้อย่างไร
ใช่ POJO มีเมธอด setter สำหรับตัวแปรสมาชิกซึ่งก็คือ คลาสของตัวเองและคลาสเหล่านี้ก็สามารถมีวิธีการตั้งค่าสำหรับองค์ประกอบซึ่งเป็นคลาสอีกครั้ง รูปแบบการออกแบบแบบคอมโพสิตจะเกี่ยวข้องโดยเฉพาะกับ โครงสร้างที่เหมือนต้นไม้ โดยที่ทุกเลเยอร์ คลาสสามารถเพิ่มลูกที่ ระดับล่างเป็นต้น

เพราะเหตุใดรูปแบบการออกแบบคอมโพสิตจึงมีความจำเป็น
รูปแบบการออกแบบคอมโพสิตจะใช้เมื่อส่วนประกอบของคอมโพสิตก็เป็นคอมโพสิตเช่นกันหากลูกค้าจำเป็นต้องดำเนินการกับ แต่ละส่วนประกอบภายในคอมโพสิต ดังนั้นหากสิ่งเหล่านี้เป็นเพียงคลาสอิสระที่ไม่มีความเหมือนกัน ลูกค้าจะต้องรู้วิธีโต้ตอบกับแต่ละคลาสในโครงสร้างต้นไม้ การมีอินเทอร์เฟซแบบเดียวกันที่รวบรวมการโต้ตอบกับคลาสจะ ทำให้ลูกค้าสามารถสื่อสารกับทุกโหนดในโครงสร้างต้นไม้ได้ง่าย

อย่างไร?รูปแบบการออกแบบแบบรวมมีการใช้งานอย่างไร?ใครคือผู้เข้าร่วมในรูปแบบการออกแบบ?
ส่วนประกอบ:แสดงถึงอินเทอร์เฟซสำหรับวิธีที่ไคลเอ็นต์จำเป็นต้องโต้ตอบกับโหนดใดๆ ในแผนผังคอมโพสิต มันสามารถกำหนดวิธีการเริ่มต้นสำหรับวิธีไคลเอนต์พื้นฐานที่จะนำไปใช้กับแต่ละโหนดทั้งหมดในแผนภูมิ
ยังแสดงถึงอินเทอร์เฟซสำหรับการขยายโครงสร้างของคอมโพสิตเพิ่มเติม
นั่นคือนอกเหนือจากการจับภาพ การดำเนินการบนโหนดเฉพาะ อินเทอร์เฟซส่วนประกอบยังบันทึกวิธีการประกอบโครงสร้างเพิ่มเติม
ใบไม้:เหล่านี้เป็นส่วนประกอบระดับต่ำสุดในโครงสร้างคอมโพสิต โดยพื้นฐานแล้วสิ่งนี้จะไม่มี กลไกในการเพิ่มหรือลบองค์ประกอบออกจากภายในตัวมันเอง
คอมโพสิต: กำหนดพฤติกรรมของโหนดที่มีลูก
จัดเก็บส่วนประกอบลูก
ไคลเอนต์:จัดการวัตถุในองค์ประกอบโดยใช้อินเทอร์เฟซคอมโพเนนต์

อินเทอร์เฟซส่วนประกอบ:
เพิ่ม(ส่วนประกอบส่วนประกอบ);//วิธีการสร้างแผนผัง
ลบ(ส่วนประกอบส่วนประกอบ)://Method เพื่อลบองค์ประกอบที่เป็นของมัน< br /> ดำเนินการ (); // นี่คือวิธีการปฏิบัติงาน นี่คือที่ที่ข้อมูลส่วนประกอบจะถูกพิมพ์สำหรับตัวอย่างหนังสือเรียน

Leaf:
สิ่งนี้จะแทนที่วิธีการเพิ่มและลบเพื่อสร้างข้อยกเว้นโดยพื้นฐาน

คอมโพสิต:
สิ่งนี้จะเก็บลูก ๆ เมื่อมีการเรียกใช้เมธอด add(Component) เพื่อเพิ่มเข้าไปในโครงสร้าง

ไคลเอนต์:
จัดการโครงสร้างของต้นไม้ที่มีปฏิสัมพันธ์กับส่วนประกอบของโครงสร้างอย่างสม่ำเสมอ
root.operate(); // ลูกค้าเรียกใช้เมธอดนี้และรูทจะมอบหมายซ้ำให้กับเมธอด Operation() บนลูกๆ เพื่อให้บรรลุ Operation() ในกลุ่มบริษัททั้งหมดอย่างเท่าเทียมกัน