有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何改进词汇表的模型?

我正在用Java编写一个小型的词汇查看器。你可以

  • 为语言添加词汇
  • 在语言之间切换
  • 请参阅每种语言的概述(包含许多词汇表)
  • 仔细观察词汇表

有趣的是,如果在许多语言中添加了词汇表,我想显示所有语言的翻译(我知道这可能会导致语言学方面的错误连接,但这只是为了训练我的Java技能)

目前我有以下课程:

  • VocabularyList (Observable),这只是许多{}的一个列表实现,具有通过语言等进行检索的附加方法。我的所有概览页面都会观察到此列表,当此列表中的某些内容发生更改时,它会刷新视图
  • Vocabulary它使用HashMap<Language, ArrayList<String>> meanings保存所有语言中的所有含义(例如,我可以说helfen在德语中的意思与帮助帮助在英语中的意思相同)
  • Language这只是一个表示语言的类(通过ISO代码和名称)

目前,我还将所有内容存储在同一个序列化文件中。我想序列化而不是数据库,以保持整个事情简单

但是,我觉得这种模式是完全错误的,因为:

  • 我无法单独访问每种语言的词汇表(即使我的程序中有该语言的选择字段),因此每次用户查看概览页面时,我都必须遍历整个列表
  • 我总是承担所有语言的开销,即使有人只看概述(而不是包含所有语言翻译的详细页面)

然而,如果我想保持所有不同词汇表语言之间的关系,我真的不知道应该如何更好地实现它

下一个想法是:

  • 为每种语言创建一个词汇表

但这样的话,整个关系都会很困难。例如,如果我从俄语列表中删除了某个词汇,我将不得不从所有其他语言列表中删除指向该词汇的所有链接

你建议什么样的模型设计?我完全是这样的吗?还是已经是正确的了?作为web开发人员,我一直只处理数据库(主要是关系数据库),在这种情况下,我只需删除多对多关系表中的一个条目。但在处理对象时,一切似乎都不一样


共 (0) 个答案