【发布时间】:2013-01-30 13:12:46
【问题描述】:
我正在使用 SFML API 在 C++ 中开发 2D 游戏,但我遇到了类设计问题。 我认为我违反了 SRP(单一责任原则),因为我有一个名为“游戏”的主类应该处理窗口。它包含一个包含主游戏循环的方法。 现在的问题;它包含超过5个类的对象(组合),例如Player、Menu、SplashScreen。 您认为创建这样的“上帝”类是一个好主意吗?你知道我可以从中学习的任何开源 C++ 2D 游戏吗? 提前谢谢你。
【问题讨论】:
-
您的设计是否有问题,或者您只是想考虑一下?如果您不确定,有时继续使用您所拥有的东西进行编码并找出它的优点和缺点并不是一个坏主意。一路上你会学到各种各样的东西。
-
我只是不确定。我搜索了整个堆栈溢出,发现了几篇关于“上帝”类的帖子(不幸的是,它们不是关于游戏开发的)。我自己也不觉得不好,但是我看到有几个人说创建这样的类不是一个好习惯。
-
我同意@paddy。如果您以前从未做过这种事情,那么您确实会学到很多东西,并且在您对自己所写的内容感到满意之前可能会遇到几次“失败”。至于你的最后一个问题,试试这里:en.wikipedia.org/wiki/List_of_open_source_video_games
-
如果你因为学术耻辱而回避有用的范式,你将把所有的时间都花在重构代码上,并且永远无法完成你的项目。让它变得有点邋遢,让你的游戏变得有趣。你制作的下一个游戏会有更好的结构。接下来....
-
感谢您的回答!我只是不想学习坏习惯,这就是我问的原因。我会照你说的做;当我完成开发时,我会在这里发布一篇关于我的经验的文章。
标签: c++ 2d-games god-object