在YuGiOh游戏中我可以在单身或工厂模式之间使用什么模式?

时间:2013-04-10 07:23:07

标签: java design-patterns

我正在尝试基于控制台开发简单的游戏YuGiOh。我制作了Supercard,它将继承3类trapcard,magiccard和monstercard。但是我应该在游戏中添加一些模式,Singleton和Factory Pattern之间的最佳选择是什么。

我应该把模式放在游戏中?

4 个答案:

答案 0 :(得分:1)

对于任何能够帮助你的人来说,你的问题太过模糊了,Singleton和Factory模式的用途有很大不同,可能你可以在app中的某个地方使用它们。

在设计的初始阶段不要担心模式,在你自己的脑海中弄清楚你想要的东西是如何工作的,可能会画一些图表,想一想你需要什么课程并产生一个高级别的OO设计。模式将在稍后出现,一般来说,如果您已完成上述步骤,则应明确您应使用哪种(如果有)模式。

答案 1 :(得分:0)

单例模式适用于单个实例对象。工厂模式用于创建超类或对象的不同实例。

Singleton模式适用于游戏本身和对象管理器(图形对象实例或任何渲染对象,声音管理器,游戏管理器,逻辑管理器等)

当改组牌组或任何其他物体生成机制时,可以使用工厂模式。可能AI移动等等。

还有很多其他模式可用于事件链接,AI,对话事件等。

codebox是正确的,你需要某种图表来至少正确地详细说明游戏。也许你应该从那开始。 (创建类图和序列图将适用于YuGiOh)

答案 2 :(得分:0)

这取决于你想要什么。单例实例在整个程序中将是唯一的,例如,您将能够拥有一个单独的陷阱卡,该陷阱卡将由程序中的所有其他对象共享。如果您只想要一种方法来创建好牌的实例,您可能更喜欢工厂模式。

答案 3 :(得分:0)

如果你问“在哪里放置我的模式”和“应该是工厂还是单身”,你应该重新考虑你的方法。通常,设计和实现模式以解决在软件开发期间遇到的常见问题。在出现这些问题之前,你不要没有目的地使用它们。

我不知道YuGiOh是什么,但是根据你的描述,如果你真的想要使用这些模式(即教育目的),我会使用Factory来构建这些卡对象,并使用单例来实现一些日志记录机制,但是 - 如上所述,你的问题是模糊的。