我想知道你对网络Tic Tac Toe游戏的最好/最有利的设计模式有什么想法和建议?
我一直在研究以下设计模式:工厂、抽象工厂、单例、原型和构建器。
根据你的经验,哪一个是最好的,为什么?
现在,我的Tic Tac Toe游戏是一个线程化的客户端/服务器游戏,可以通过套接字在互联网上玩。但是,我将以某种方式重构游戏,以利用设计模式。
我在考虑建立一个客户端/服务器架构,可以用来玩许多不同类型的游戏,比如tic tac toe,connect 5,等等。
我该往哪个方向走呢?我正在寻找一个能给我一些设计模式经验的方向……
谢谢!
发布于 2009-11-05 01:24:54
警告:我讨厌人们把“设计模式”作为目标。设计好的代码,如果你正在做的事情看起来像DP,那么使用DP来帮助你改进代码。但不要一开始就说“我想用惊人的Crane模式来编写我的程序”。那是本末倒置。DPs应该出现在你的设计中。他们不应该驱动设计。
EndCaveat
你已经在使用设计模式了。DP只是编程中常见的“模式”的行话。您首先应该问自己的是:“我如何识别我编写的网络游戏中的设计模式?”
在那之后,你就可以担心下一步了。要拥有多个游戏,您可能希望使用抽象工厂模式来处理您的游戏。服务器调用工厂以获取知道如何玩所选游戏的游戏对象。
发布于 2009-11-05 01:24:39
设计模式只是一种设计方式的名称。tic-tac-toe游戏可以使用所有的设计模式,也可以不使用它们。它们只是如何做一件特定事情的一种模式。
你想重构你的代码,这是公平的,但不要这样做,因为你想在其中加入更多的设计模式。这样做是因为你想要清理你的代码,使它更通用,并可能将其扩展到其他游戏中。
要获得关于使用哪种设计模式的好答案,请给出一个具体的示例:
问:如何将network_handler限制为一个实例?-答:使用单例
否则,您可以找到一个理由来包含几乎所有的设计模式。
发布于 2009-11-05 01:06:57
使用不同的模式有不同的原因。你经常会看到在一个应用程序中使用了不止一个设计模式,这就是在正确的工作中使用正确的模式。
例如,在一个web应用程序中,我可能对设置类使用单例模式,对数据库连接使用工厂类。单例确保我只有一个设置对象,而工厂类负责为我提供一个适合我环境的数据库适配器。
https://stackoverflow.com/questions/1675204
复制相似问题