วิธีการ "รวมตัวบริสุทธิ์" ซึ่งอธิบายโดยเวสต์ในบทความที่เชื่อมโยงนั้นจะหลีกเลี่ยงวัตถุ "เอนทิตี" ทั้งหมด มีองค์ประกอบที่ลอยอยู่ในหน่วยความจำ แต่พวกมันจะเชื่อมโยงเข้าด้วยกันโดยเฉพาะความสัมพันธ์โดยนัยถ้าหากทั้งหมด
วิธีหนึ่งที่จะทำเช่นนี้คือสิ่งที่เรียกว่าวิธีการนอก ในระบบดังกล่าวส่วนประกอบถูกควบคุมโดยระบบที่จัดการหรือควบคุม (ฉันใช้คำว่า "จัดการ" ที่นี่ แต่คุณไม่ควรทำสิ่งนี้เพื่อหมายความว่าฉันแนะนำให้คุณมีคลาส * Manager ที่จะจัดเก็บไว้ ประเภทส่วนประกอบ) ตัวอย่างเช่นระบบฟิสิกส์ของคุณอาจยึดติดกับสิ่งต่าง ๆ ที่เป็นตัวแทนของร่างกายที่เข้มงวดในโลกจำลองและอาจเปิดเผยสิ่งเหล่านั้นในรูปแบบขององค์ประกอบทางฟิสิกส์ ส่วนประกอบสามารถเป็นวัตถุจริงที่จัดการโดยระบบย่อยที่มีปัญหาหรืออาจเป็นพร็อกซีสำหรับวัตถุเหล่านั้นได้ตามต้องการ
ในระบบดังกล่าวไม่จำเป็นต้องมีคลาส "นิติบุคคล" เพื่อเก็บรวบรวมการอ้างอิงไปยังส่วนประกอบที่ประกอบขึ้น แทนที่จะมีการแจ้งเตือนเกี่ยวกับการสร้างหรือทำลาย "เอนทิตี" และแต่ละระบบย่อยที่จัดการส่วนประกอบดูที่คำอธิบายของเอนทิตีที่สร้าง / ทำลาย (ซึ่งโดยทั่วไปจะโหลดจากข้อมูลบางส่วน) และพิจารณาว่าจำเป็นต้องใช้ส่วนประกอบหรือไม่
ข้อดีอย่างหนึ่งของวิธีนี้คือคุณจะได้รับข้อมูลอ้างอิงที่ดีสำหรับแต่ละองค์ประกอบ น่าเสียดายที่มันดูแปลก ๆ โดยรวมและไม่ใช่รสชาติที่เป็นมิตรที่สุดของเอนทิตีที่อิงองค์ประกอบที่ฉันเคยพบ บางครั้งก็สะดวกที่จะมีวัตถุจริงที่แสดงถึงเอนทิตีแม้ว่าวัตถุนั้นจะรวมการอ้างอิงที่อ่อนแอไปยังส่วนประกอบที่ยังคงอยู่โดยระบบย่อยอื่น ๆ อีกเล็กน้อย .
มีวิธีที่ดีหลายวิธีในการนำระบบวัตถุของเกมมาใช้เป็นส่วนประกอบ มันช่วยได้จริง ๆถ้าคุณมีความคิดที่ชัดเจนเกี่ยวกับข้อกำหนดที่คุณต้องการจากระบบของคุณ - คุณสามารถดูว่าเฟรมเวิร์กยอดนิยมอย่าง Unity ทำอะไรเพื่อเป็นตัวอย่าง โดยไม่ต้องตั้งข้อกำหนดที่เข้มงวดสำหรับตัวคุณเองคุณอาจพบกับปัญหาของการ "ออกแบบ" ระบบโดยไม่ต้องสร้างมันขึ้นมาจริงๆพยายามอย่างไร้ผลที่จะได้รับการใช้งานที่สมบูรณ์แบบ ไม่ว่าจะด้วยเหตุผลใดฉันได้เห็นสิ่งนี้มากมายด้วยระบบส่วนประกอบ