Có phải là thiết kế xấu khi có 2 lớp cần nhau?
Đó là một chút của Mùi Code , nhưng người ta có thể rời đi với nó. Nếu đó là cách dễ dàng hơn và nhanh hơn để khởi động trò chơi của bạn, hãy tiếp tục. Nhưng hãy ghi nhớ điều đó bởi vì có một cơ hội tốt bạn sẽ phải cấu trúc lại nó vào một lúc nào đó.
Vấn đề với C ++ là các phụ thuộc vòng tròn sẽ không được biên dịch dễ dàng như vậy , vì vậy có thể là một ý tưởng tốt hơn để loại bỏ chúng thay vì dành thời gian sửa lỗi biên dịch của bạn.
Xem câu hỏi này trên SO để có thêm một vài ý kiến.
Bạn sẽ gọi [thiết kế của tôi] thiết kế xấu?
Không, nó vẫn tốt hơn là đặt mọi thứ vào một lớp.
Nó không tuyệt lắm, nhưng nó thực sự khá gần với hầu hết các triển khai tôi từng thấy. Thông thường, bạn sẽ có một lớp người quản lý cho các trạng thái trò chơi ( hãy cẩn thận! ) Và một lớp kết xuất, và điều khá phổ biến là chúng là các singletons. Vì vậy, sự phụ thuộc vòng tròn là "ẩn", nhưng nó có khả năng ở đó.
Ngoài ra, như bạn đã nói trong các bình luận, hơi lạ khi các lớp trạng thái trò chơi thực hiện một số loại kết xuất. Họ chỉ nên giữ thông tin trạng thái và kết xuất phải được xử lý bởi trình kết xuất hoặc một số thành phần đồ họa của chính các đối tượng trò chơi.
Bây giờ có thể có thiết kế cuối cùng . Tôi tò mò muốn xem liệu những câu trả lời khác có mang lại một ý tưởng hay không. Tuy nhiên, có lẽ bạn là người có thể tìm thấy thiết kế tốt nhất cho trò chơi của bạn.