我从事中小型、数据库驱动、业务应用等领域的工作。我通常发现,特别是在较旧的系统中,大多数数据都存在于数据库中。我所说的数据指的是一些东西,比如CountryTable、ZipCodeTable、很多/一张大的下拉列表。
最近我继承了一个项目,其中客户端有一个复杂的嵌套层次数据结构,包括模块、类别、子模块、设置、配置等,但是数据是完全静态的。我们只是需要它这样我们就可以..。把所有东西都放在它该放的地方。现在大约有7个复杂的ef核心实体与关系。前一个团队和客户端组成了一个完整的迷你标记语言,并为它编写了一个解析器。
这是静态(Ish),基本数据。它被用来描述系统。
如果在我的系统中某个地方有优先级级别,我需要在某个地方描述它。我要说的是“低、中、高的存在”。我经常看到的应用程序,在数据库中这样做。
总的来说,我越来越远离对数据库的关注。我只需要用代码来定义它。为什么需要种子的PriorityEntity和PrioritiesTable只会说“请给我一个所有优先事项的清单”?我只想用代码来定义列表。
对于更复杂的静态数据(比如我的模块),由于对象关系不匹配,您可能会得到额外的类型和映射代码。
但是如果它真的改变了呢?你永远也不知道,邮编一直在消失
人们在标记或代码中描述类似于菜单结构的东西没有什么问题。如果需要更改,开发人员只需调整代码并推送更新。
我在自言自语,但我确实有个问题。有什么理由反对我没想过吗?有我描述的名字吗?我觉得应该有。
发布于 2021-01-15 19:40:17
以优先事项为例:
发布于 2021-01-15 19:33:46
直接在代码中定义此类数据意味着,如果“静态”数据确实需要更改,则需要重新编译应用程序。这也增加了与其他系统共享数据的难度。
发布于 2021-01-15 19:41:09
我会用一个物体来做这个。
您说过数据不会更改,所以您可以轻松地将其存储在应用程序中。数据库将被过度杀死并增加其大小。XML文件也会有点过火,而且还会增加大小。
因此,在我看来,最好的选择是一个枚举或物体。
https://softwareengineering.stackexchange.com/questions/421104
复制相似问题