1

我目前正在重构一个项目,到目前为止,很多数据在代码中保存为常量和数组。还有很多裁员。现在我想将所有这些数据移动到数据库中,但我不确定我将如何进行映射。很少根据用户输入动态选择数据,而是在代码中专门选择数据。它在应用程序的非常核心级别使用,但它实际上不是核心。此外,已经使用了一个数据库,因此不会有真正的额外工作。

我的想法是使用一个 Mapping 类,其中有指向相应行 ID 的常量。这是一个好主意吗?

另一个想法是索引名称行并直接查询名称。

数据库可能有以下列:id、name、polynom 和 params。所以,基本上我们在谈论数学数据。例如:1、“价格近似”、20x^3 - 5x^2 + 11x”、“非累计”。

我认为这个问题与语言无关,但由于可能存在特定于语言(甚至特定于框架)的最佳实践,因此我使用的是:PHP5 with the Yii Framework。

4

1 回答 1

3

我对 PHP 和 Yii 没有太多经验,但这是我的 2 美分...

如果这些是从技术上定义您的应用程序的常量和常量集合(应用程序架构常量),但最终用户不应控制,我会将它们放在配置文件而不是您的数据库中,除非您已经构建了一个模块以轻松访问和修改它们。是否实现映射类(或配置类)来检索它们并不重要,但在检索它们的方式上保持一致。如果您在配置文件中有太多需要管理的内容,则将它们存储在数据库中是合适的,但请确保您提供了一种简单的方法来修改它们。为了使您的源代码可读,我将使用人类可以理解的描述符并将这些描述符映射到您提到的相应行。

如果这些是用户定义的常量,那么您绝对应该提供一个接口。但保持与应用程序架构常量相同的架构。

在一个完美的程序/应用程序(甚至更好的应用程序框架)中,没有什么是硬编码的,一切都由常量(开关)控制。如果您能够在无需维护源代码的情况下成功实现这一目标,您将获得诺贝尔和平奖。

于 2013-01-05T11:32:21.710 回答