0

对于显示许多数据库字段的 GUI,最好有一个 field:label 映射,以便 GUI 标签不是硬编码而是动态设置的。例如

  • 身高:“身高(厘米)”
  • 年龄:“年龄”
  • bloodAlcPct:"血液酒精百分比"
  • 月入狱:“入狱数月”

您在哪里存储这些字符串以及它们如何映射到数据库字段?您可以放心地假设用户请求频繁更改这些标签。

4

2 回答 2

1

您可以使用包含有关表字段的信息的元表。一旦你拥有了这张桌子,你总会发现它的更多用途。

于 2009-07-22T21:14:24.473 回答
1

我不会将它们存储在您的数据库中,而是将它们映射到代表数据库表的 OO 模型中,因为它在每个良好的 ORM 中完成(查看 django、kohana-orm、activerecord 等)

编辑:

嗯..这取决于你指的是硬编码。硬编码通常是指每次在表单或输出中使用字段时在代码中包含它。在 ORM 类中,它只定义一次并从那时起重复使用。如果您想使用不同的语言,也可以使用 _get 方法。

您必须在某个地方定义标签。我发现如果您放入数据库会产生太多开销,因为您必须从数据库中检索信息。根据您使用的 GUI 类型,可能会使用很多次。

最后,您需要平衡两件事,即代码的性能和可读性/可扩展性。将其封装到一个类中,从两个角度来看都是干净的,除了标签被用户更改的情况外,它是动态数据,应该在数据库中。

无论如何,这通常取决于特定情况和个人品味。因此,这里没有正确或错误的解决方案。

于 2009-07-22T21:18:35.603 回答