1
我正在写一个桌面MMO游戏,我想咨询一下架构问题。我有NetworkManager,ClientWindow,CachingTextureAtlas等类,它们只需要在一个游戏实例中使用,这里是我的问题:使它们成为单例是否正确?如果是的话,这将是一种通过全球课程进行的互动,从设计的角度来看,这并不是很好,因为在我看来,如果没有,我们会将它们组成一个外观,我们必须将这些全部传递给构造函数太多的课程也不方便。什么是更好的选择?组成vs多个单身人士
+1表示依赖注入。错过了:) – greenkode 2013-03-26 07:57:57
所以你反对单例方法,你建议的是让工厂持有所需类的实例?或者每次都提供一个新实例?我在服务器端使用Spring DI,我会考虑远离单身人士,但我们应该如何处理客户端,在Spring中没有任何意义?而在CachingTextureAtlas的情况下,它是非常昂贵的,每次实例化它,谢谢;) – OneMoreVladimir 2013-03-26 08:00:02
@OneMoreVladimir我宁愿去依赖注入。这会从调用它的方法中抽象出实现。因此您可以更改实现并很可能永远不必重构代码。 – greenkode 2013-03-26 08:02:30