Birbirine ihtiyaç duyan 2 sınıfa sahip olmak kötü bir tasarım mıdır?
Biraz Kod Kokusu , ama biri onunla ayrılabilir. Oyununuzu çalıştırıp çalıştırmanın daha kolay ve hızlı yolu buysa, bunun için gidin. Ancak bunu aklınızda bulundurun, çünkü bir noktada yeniden düzenleme yapmak için iyi bir şansınız var.
C ++ ile olan şey, dairesel bağımlılıkların bu kadar kolay derlenmeyeceğidir , bu yüzden derlemenizi düzeltmek için zaman harcamak yerine onlardan kurtulmak daha iyi bir fikir olabilir.
Birkaç fikir için SO ile ilgili bu soruya bakınız .
[Tasarımım] kötü tasarım diyebilir misiniz?
Hayır, hala her şeyi bir sınıfa koymaktan daha iyidir.
Çok iyi değil, ama aslında gördüğüm çoğu uygulamaya oldukça yakın. Genellikle, oyun durumları için bir yönetici sınıfınız ( dikkat! ) Ve bir oluşturucu sınıfınız olur ve bunların tekton olması oldukça yaygındır. Yani dairesel bağımlılık "gizlidir", ancak potansiyel olarak oradadır.
Ayrıca, yorumlarda belirtildiği gibi, oyun devlet sınıflarının bir çeşit render gerçekleştirmesi biraz garip. Yalnızca durum bilgilerini tutmalılar ve oluşturma işlemi bir oluşturucu veya oyun nesnelerinin bazı grafik bileşenleri tarafından ele alınmalıdır.
Şimdi nihai tasarım olabilir . Diğer cevapların güzel bir fikir getirip getirmediğini merak ediyorum. Yine de, muhtemelen oyununuz için en iyi tasarımı bulabileceksiniz.