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