database - 是否有任何模式或重构技巧来拆分 Enum 和 DBDictionary 数据重复

标签 database design-patterns refactoring enums

我们的项目中有一段臭代码。业务逻辑中使用的许多值有两个存储位置: 我们在数据库中有字典表(用于 FK 关系),我们在其中存储值 e.x. 消息方向信息:

0|未知

1|在

2|出局

并且我们有具有完全相同数据的枚举: MessageDirectionEnum{Unknown=0,In=1,Out=2} 在整个代码中,我们有很多“开关”和“如果”,其中枚举用于条件逻辑。但是当我们保存到数据库时——我们应该“转换”(实际上是“盲选”,如果它选择除了结果对象类型之外完全相同的数据)枚举值到 Dictionary 类实例。我能理解 Enums 是用来清除外键引用的代码逻辑和 DB 数据,但实际上我不喜欢这样。

有没有什么模式可以消除这种行为,或者有什么方法可以清除这种“臭味”?或者也许我只是瞎了眼,这是获得这两种好处的唯一明确方法 - DB FK 和使用枚举的更清晰的代码逻辑

最佳答案

关于database - 是否有任何模式或重构技巧来拆分 Enum 和 DBDictionary 数据重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/446221/

相关文章:

database - 哪个 ORM 框架最能处理 MVCC 数据库设计?

design-patterns - 这是对复合模式的有效解释吗?

testing - 穷人对遗留代码的依赖注入(inject)

sql - 如何从数据库中获取保存的文本布局

database - 以高频率将大量物联网数据存储到云端

database - 使用多个数据库和每个数据库一个模式更好,还是一个数据库有多个模式更好?

c# - 只有一个表格是一个好习惯吗?

java - 启动依赖服务的设计模式

c# - 如何重构这个巨大的 switch 语句?

refactoring - 如何简化/改进 Erlang 代码?