在日常程序中,我甚至不会考虑针对接口而不是实现编码的可能性能损失.优势大大超过了成本.所以请不要提供关于良好OOP的通用建议.
尽管如此,在这篇文章中,XNA(游戏)平台的设计者给出了他的主要论点,即没有设计他的框架的核心类来对抗界面,这意味着性能受到打击.看到它是在游戏开发的背景下,每个fps可能都很重要,我认为这是一个有效的问题要问自己.
有人有任何统计数据吗?我没有看到测试/测量这个的好方法,因为我不知道这个游戏(图形)对象应该记住什么.
我在使用XNA框架.
为了帮助我,我做了一个看起来像这样的帮助类:
ActorHolder
+ SpriteBatch (SpriteBatch)
+ ContentManager (ContentManager)
- drawables (IList<IDrawable>)
- updatables (IList<IUpdatable>)
+ ActorHolder(GraphicsDevice, ContentManager)
+ Draw(GameTime)
+ Update(GameTime)
+ AddActor(IActor)
+ RemoveActor(IActor)
+ GetCollidingActors(IActor)
Run Code Online (Sandbox Code Playgroud)
现在我想对这个班级进行单元测试.但正如您所看到的,我的构造函数需要一个图形设备和一个内容管理器.虽然我认为这在我的应用程序中很明显,但在我的测试中却没有.
我应该嘲笑这两个只是为了进行单元测试还是我的设计存在缺陷?
--UPDATE--
我找到了一个可能有用的项目的链接:http://scurvytest.codeplex.com/
没有任何xp,因为编码必须为社交生活腾出一些空间.
- 注意 -
对不起我的UML法语,我公司不使用它,所以我从来没有用过它,除了回到学校.