1

我正在创建一个手机游戏,它从用户那里获取单词,然后验证它们以查看它们是否是英语词典中的有效单词。过去,我使用加载到游戏本地内存中的字典创建了一个类似的游戏。

这种方法的问题是我经常需要用新词更新字典。由于字典在内存中,添加新单词需要我完全更新应用程序。如果我使用 SQL 数据库作为字典,我可以很容易地添加单词,而无需更新应用程序,并且必须依靠用户去下载新的更新。

我的问题是,这种方法(设计或性能方面)有什么问题吗?我以前从未见过这样的事情。另外,我不需要定义。我只需要确保该单词是有效的英文单词。

如果这是糟糕的设计,有没有更好的选择?还是我最好只处理内存字典?

4

2 回答 2

2

SQL 数据库似乎有点矫枉过正。您是否看过像Berkley DB这样的键值对存储?

于 2012-05-20T15:19:09.270 回答
1

答案在很大程度上取决于应用程序的数据库开销。添加少量功能可能需要大量的处理能力和内存。

如果您已经在使用基于文件的方法,也许最简单的解决方案是定期轮询文件以检查更新(大小或修改时间)。找到后,将其加载到内存中。

在数据太大而无法放入内存的环境中,数据库将很有价值,因为数据库在管理内存和磁盘空间方面做得很好。

于 2012-05-20T15:55:12.117 回答