Apakah desain yang buruk memiliki 2 kelas yang saling membutuhkan?
Ini sedikit bau kode , tetapi orang bisa pergi begitu saja. Jika itu cara yang lebih mudah dan lebih cepat untuk menjalankan dan menjalankan game Anda, lakukanlah. Tetapi ingatlah itu karena ada peluang bagus Anda harus merevisinya di beberapa titik.
Masalahnya dengan C ++ adalah bahwa dependensi melingkar tidak dapat dikompilasi dengan mudah , jadi mungkin ide yang lebih baik untuk menyingkirkannya daripada menghabiskan waktu memperbaiki kompilasi Anda.
Lihat pertanyaan ini di SO untuk beberapa pendapat lagi.
Apakah Anda menyebut desain buruk [desain saya]?
Tidak, ini masih lebih baik daripada menempatkan semuanya dalam satu kelas.
Ini tidak terlalu bagus, tetapi sebenarnya cukup dekat dengan sebagian besar implementasi yang saya lihat. Biasanya, Anda akan memiliki kelas manajer untuk status permainan ( waspadalah! ), Dan kelas penyaji, dan sangat umum bahwa mereka adalah lajang. Jadi ketergantungan sirkular "tersembunyi", tetapi berpotensi ada di sana.
Juga, seperti yang Anda diberitahu dalam komentar, agak aneh bahwa kelas state game melakukan semacam rendering. Mereka seharusnya hanya menyimpan informasi keadaan, dan rendering harus ditangani oleh renderer, atau beberapa komponen grafis dari objek game itu sendiri.
Sekarang mungkin ada desain pamungkas . Saya ingin tahu apakah jawaban lain membawa satu ide bagus. Meski begitu, Anda mungkin adalah orang yang dapat menemukan desain terbaik untuk gim Anda.