การออกแบบไม่ดีหรือไม่ที่มี 2 คลาสที่ต้องใช้ซึ่งกันและกัน?
มันเป็นบิตของCode Smellแต่สามารถทิ้งไว้ได้ ถ้านั่นเป็นวิธีที่ง่ายและเร็วกว่าที่จะทำให้เกมของคุณพร้อมเล่นต่อไป แต่โปรดจำไว้ว่าเพราะมีโอกาสที่ดีที่คุณจะต้องปรับโครงสร้างในบางจุด
สิ่งที่มี C ++ คือการพึ่งพาแบบวนรอบจะไม่รวบรวมได้อย่างง่ายดายดังนั้นจึงเป็นความคิดที่ดีกว่าที่จะกำจัดพวกเขาแทนที่จะใช้เวลาในการแก้ไขการรวบรวมของคุณ
ดูคำถามนี้ใน SOเพื่อความคิดเห็นเพิ่มเติม
คุณจะเรียกการออกแบบที่ไม่ดี [ออกแบบของฉัน] ไหม
ไม่มันยังดีกว่าใส่ทุกอย่างในชั้นเดียว
มันไม่ค่อยดีนัก แต่จริงๆแล้วมันค่อนข้างใกล้เคียงกับการใช้งานส่วนใหญ่ที่ฉันเคยเห็น โดยปกติแล้วคุณจะมีคลาสผู้จัดการสำหรับสถานะเกม ( ระวัง! ) และคลาสเรนเดอร์และเป็นเรื่องธรรมดาที่พวกเขาจะเป็นซิงเกิลตัน ดังนั้นการพึ่งพาแบบวนคือ "ซ่อน" แต่อาจมี
นอกจากนี้ตามที่คุณได้รับการบอกกล่าวในคอมเม้นท์มันค่อนข้างแปลกที่คลาสเกมของรัฐจะทำการเรนเดอร์บางอย่าง พวกเขาควรเก็บข้อมูลสถานะและการเรนเดอร์ควรจัดการโดย renderer หรือองค์ประกอบกราฟิกของวัตถุเกมเอง
ตอนนี้อาจมีการออกแบบขั้นสุดท้าย ฉันอยากรู้ว่าคำตอบอื่นนำความคิดที่ดีมาหนึ่งข้อหรือไม่ ถึงกระนั้นคุณก็อาจเป็นผู้ที่สามารถหาดีไซน์ที่ดีที่สุดสำหรับเกมของคุณได้